2011-07-27 77 views
0

我正在嘗試將org.w3c.dom.Document寫入文件。我得到的Document將XML文檔寫入Java文件時出錯

String URL = "http://...." 
DOMParser parser = new DOMParser(); 
Document doc = null; 
try { 
    parser.parse(new InputSource(URL)); 
    doc = parser.getDocument(); 
} catch() {} 

然後我寫這篇文章Document使用

TransformerFactory tFactory = TransformerFactory.newInstance(); 
Transformer transformer = tFactory.newTransformer(); 
DOMSource source = new DOMSource(doc); 
StreamResult result = new StreamResult(new File(file)); 
transformer.transform(source, result); 

雖然這樣做我不斷收到以下錯誤

ERROR: 'Namespace for prefix 'xlink' has not been declared.' 

什麼可能是錯誤的文件?謝謝

回答

1

我推薦使用不同的庫,例如Dom4J,而不是試圖通過Java中內置的XML API來對抗。 DOM4J是更好的設計,使你的代碼更可讀:

Document doc = new SAXReader().read(inputStream); 
new XMLWriter(outputStream).write(doc); 

的這一切與FactoryFactoryFactoryFactories碴左右。

我知道這並不直接回答你的問題,但希望它會幫助反正。 Dom4j知道如何與Java XML API交談,以便您可以混合並匹配它們以滿足您的需求。如果你想使用XSLT,你甚至可以將它插入Xalan或類似的東西。