I want to create an XML with a default namespace using DOM:
<?xml version="1.0" encoding="US-ASCII"?>
<test xmlns="example:ns:uri" attr1="XXX" attr2="YYY">
<el>bla bla</el>
</test>
I have the following
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
resultingDOMDocument = db.newDocument();
Element rootElement =
resultingDOMDocument.createElementNS("example:ns:uri", "test-results-upload");
rootElement.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns", "example:ns:uri");
rootElement.setAttributeNS("example:ns:uri", "attr1", "XXX");
rootElement.setAttributeNS("example:ns:uri", "attr2", "YYY");
And I am getting
<?xml version="1.0" encoding="US-ASCII"?>
<test xmlns="example:ns:uri" ns0:attr1="XXX" xmlns:ns0="example:ns:uri" ns1:attr2="YYY" xmlns:ns1="example:ns:uri">
<el>bla bla</el>
</test>
I am using standard DOM API in the JDK v6. What am I doing wrong ? I want to underline - I want to use the default namespace and I DON'T want to use namespace prefixes.