java - 从 DOM 获取 XML 字符串

标签 java xml dom

如何将 DOM 解析器生成的 XML 存储在 Java 中的字符串变量中?我可以将其存储在.xml中文件使用:

// creating and writing to xml file  
TransformerFactory transformerFactory = TransformerFactory.newInstance();  
Transformer transformer = transformerFactory.newTransformer();  
DOMSource domSource = new DOMSource(document);  
StreamResult streamResult = new StreamResult(new File("d:/xml_created.xml"));
transformer.transform(domSource, streamResult);

但我需要将其存储在字符串变量中。

最佳答案

您可以创建一个 StringWriter 并将 XML 打印到其中:

http://docs.oracle.com/javase/7/docs/api/java/io/StringWriter.html

StringWriter sw = new StringWriter();

transformer.transform(domSource, sw);

String xml = sw.toString();

您可能需要将 StringWriter 包装在 OutputStream 中,我一时记不清了。

关于java - 从 DOM 获取 XML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731853/

相关文章:

xml - 如何使用 Delphi 7 从 XML 中删除 namespace

javascript - html + javascript 中的属性命名空间有什么用? (setAttributeNS)

java - CodeModel - 如何使用枚举值定义注释?

java - 如何更改 JProgressBar 的边框颜色

Java - 使用一个函数处理多个事件?

Java DOM 默认命名空间

javascript - 如何从 iframe 内部获取带有 javascript 的 iframe 的高度?具有多个 iframe 的页面呢?

java - 如何获取 DOM 节点之前和之后的一些 xml

html - 如何在 Notepad++ 中自动格式化/缩进 XML/HTML

java - Jackson XML 反序列化、多态映射