没有javax.xml.transform的org.w3c.dom.Document to String

时间:2011-03-31 15:41:31

标签: java android xml string

我花了一些时间在Google上寻找将org.w3c.dom.Document转换为整个DOM树的字符串表示的方法,因此我可以将对象保存到文件系统。

但是我发现的所有解决方案都使用javax.xml.transform.Transformer,它不支持作为Android 2.1 API的一部分。如何在不使用此类/包含的情况下执行此操作?

2 个答案:

答案 0 :(得分:5)

请尝试以下代码:

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse("/path/to/file.xml");
DOMImplementation domImpl = ownerDocument.getImplementation();
DOMImplementationLS domImplLS = (DOMImplementationLS)domImpl.getFeature("LS", "3.0");
LSSerializer serializer = domImplLS.createLSSerializer();
serializer.getDomConfig().setParameter("xml-declaration", Boolean.valueOf(false));
LSOutput lsOutput = domImplLS.createLSOutput();
lsOutput.setCharacterStream(output);
serializer.write(doc, lsOutput);

答案 1 :(得分:3)

为避免使用Transformer,您应手动迭代xml树,否则可以依赖某些外部库。你应该看看here