2012-05-11 48 views
2

我想用w3c.dom更新xml並創建一個新文件。我不得不使用變換是這樣的:關於w3c dom更新xml文件

TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
Transformer transformer = transformerFactory.newTransformer(); 
DOMSource source = new DOMSource(newXml); 
StreamResult result = new StreamResult(target); 
transformer.transform(source, result); 

我用setTextContent更新的文檔文件newxml, 但新文件(結果)編碼與newXml不同。 我知道,我可以使用

transformer.setOutputProperty(OutputKeys.ENCODING, newXml.getXmlEncoding()); 

,但我希望的結果文檔類型編碼排版相同與原文件(newXml)。

希望有人知道該怎麼做,謝謝〜

+0

由Transformer使用的底層輸出流是使用相同的編碼創建的,所以應該沒有問題。 – Alex

+0

我檢查新文件(結果),編碼是<?xml version =「1.0」encoding =「UTF-8」?>, 但是原來是<?xml version =「1.0」encoding =「big5」?> – doris

+0

如何定義「target」? – artbristol

回答

0

您可以使用base64編碼 - 解碼模式。首先將XML轉換爲base64,然後將其重新轉換成XML。