2012-05-11 50 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。