2009-11-11 67 views
2

我有我的輸出XML文檔中的一個沒有屬性的根元素:設置名稱空間和模式使用Java的DOM

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<root> 
.. 
</root> 

我需要它看起來像這樣:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="my.xsd"> 
.... 
</root> 

我可以不知道如何正確使用java DOM API來做到這一點。

謝謝!

+0

啊,你打我來編輯!謝謝! – Casey 2009-11-11 18:33:56

回答

6

使用NS方法。在這種情況下,命名空間是http://www.w3.org/2001/XMLSchema-instance

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder docBuilder = factory.newDocumentBuilder(); 
Document doc = docBuilder.newDocument(); 
Element root = doc.createElement("root"); 
root.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance", 
    "xsi:noNamespaceSchemaLocation", "my.xsd"); 
root.appendChild(doc.createElement("foo")); 
doc.appendChild(root); 
// see result 
DOMImplementationLS dls = (DOMImplementationLS) doc.getImplementation(); 
System.out.println(dls.createLSSerializer().writeToString(doc)); 
相關問題