如何在Java中将xml元素及其子节点转换为字符串?
嗨,我想将XML节点及其子节点转换为带有其节点名称的字符串。
例如,我从XML文档中获取一个节点,如下所示:
<Name>
<Work>*86</Work>
<Home>*86</Home>
<Mobile>*80</Mobile>
<Work>0</Work>
</Name>
我想将整个节点转换为字符串。使用节点名称,而不仅仅是文本。非常感谢您在这方面的任何帮助。谢谢。
嗨,我想将XML节点及其子节点转换为带有其节点名称的字符串。
例如,我从XML文档中获取一个节点,如下所示:
<Name>
<Work>*86</Work>
<Home>*86</Home>
<Mobile>*80</Mobile>
<Work>0</Work>
</Name>
我想将整个节点转换为字符串。使用节点名称,而不仅仅是文本。非常感谢您在这方面的任何帮助。谢谢。
您可以使用 JDom XMLOutputter,但条件是您的 Element 是 org.jdom.Element:
XMLOutputter outp = new XMLOutputter();
String s = outp.outputString(your_jdom_element);
您可以使用变压器:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(node);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);