【发布时间】:2011-05-23 16:58:53
【问题描述】:
我遇到了这个将 XML 节点转换为 Java 字符串表示的 Java 函数:
private String nodeToString(Node node) {
StringWriter sw = new StringWriter();
try {
Transformer t = TransformerFactory.newInstance().newTransformer();
t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
t.setOutputProperty(OutputKeys.INDENT, "yes");
t.transform(new DOMSource(node), new StreamResult(sw));
} catch (TransformerException te) {
System.out.println("nodeToString Transformer Exception");
}
return sw.toString();
}
它看起来很简单,因为它希望输出字符串没有任何 XML 声明,并且它必须包含缩进。
但我想知道实际输出应该如何,假设我有一个 XML 节点:
<p><media type="audio" id="au008093" rights="wbowned">
<title>Bee buzz</title>
</media>Most other kinds of bees live alone instead of in a colony. These bees make
tunnels in wood or in the ground. The queen makes her own nest.</p>
我可以假设应用上述转换后的结果字符串是:
"media type="audio" id="au008093" rights="wbowned" title Bee buzz title /media"
我想自己测试一下,但我不知道如何以这个函数真正想要的方式表示这个 XML 节点。
我有点困惑,在此先感谢您的慷慨帮助。
【问题讨论】: