如何在Java中将xml元素及其子节点转换为String?

ars*_*lan 19 java xml string dom

嗨,我想将XML节点及其子节点转换为具有节点名称的字符串.

例如,我从XML文档中获取一个节点,如下所示:

<Name>
  <Work>*86</Work>
  <Home>*86</Home>
  <Mobile>*80</Mobile> 
  <Work>0</Work>
</Name>
Run Code Online (Sandbox Code Playgroud)

我想将整个节点转换为字符串.使用nodenames,不仅是文本.非常感谢在这方面的任何帮助.谢谢.

fel*_*igl 29

您可以使用JDom XMLOutputter,条件是您的Element是org.jdom.Element:

XMLOutputter outp = new XMLOutputter();
String s = outp.outputString(your_jdom_element);
Run Code Online (Sandbox Code Playgroud)


wja*_*ans 28

您可以使用变压器:

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);
Run Code Online (Sandbox Code Playgroud)