使用XML文件作为输入,我已经对其进行了解析并使用诸如删除节点,添加节点等基本功能对其进行了修改。我想以DOM树的形式输出最终文档。我已经找到了这段代码,但是很难真正理解每行的内容(即使在阅读每个函数的文档时也是如此)。
能否请举例说明其工作原理?
private static void toString(Document newDoc) throws Exception{
DOMSource domSource = new DOMSource(newDoc);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
StringWriter sw = new StringWriter();
StreamResult sr = new StreamResult(sw);
transformer.transform(domSource, sr);
System.out.println(sw.toString());
}
答案 0 :(得分:0)
一个javax.xml.transform.Transformer
转换(顾名思义)将一个javax.xml.transform.Source
转换为一个javax.xml.transform.Result
,可能在此过程中应用了XSL样式表。变压器周围的源代码行是
Transformer transformer = TransformerFactory.newInstance().newTransformer(); // line 3
transformer.transform(domSource, sr); // line 6
现在,您的代码示例中的源代码是什么?
...Document newDoc... // line 1
DOMSource domSource = new DOMSource(newDoc); // line 2
含义:读取javax.xml.transform.Source
的{{1}}实现。
org.w3c.dom.Document
是:
javax.xml.transform.Result
表示它是写入StringWriter sw = new StringWriter(); // line 4
StreamResult sr = new StreamResult(sw); // line 5
的{{1}}(由字符或字节流组成)。
最后,已写入javax.xml.transform.stream.StreamResult
的结果将在控制台上输出:
java.io.StringWriter