java org.w3c.dom.Document 到 String 没有 javax.xml.transform

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/5502526/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 11:25:55  来源:igfitidea点击:

org.w3c.dom.Document to String without javax.xml.transform

javaandroidxmlstring

提问by Kurru

I've spent a while looking around on Google for a way to convert a org.w3c.dom.Document to a string representation of the whole DOM tree, so I can save the object to file system.

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

However all the solutions I've found use javax.xml.transform.Transformer which isn't supported as part of the Android 2.1 API. How can I do this without using this class/containing package?

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

采纳答案by javanna

To avoid using Transformeryou should manually iterate over your xml tree, otherwise you can rely on some external libraries. You should take a look here.

为了避免使用Transformer你应该手动迭代你的 xml 树,否则你可以依赖一些外部库。你应该看看这里

回答by user1651443

Please try this code:

请试试这个代码:

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);