arsalan
arsalan

Reputation: 203

How to convert xml Element and its child nodes into String in Java?

Hi I want to convert XML node and its child into a string with its node names.

For example I get a node from XML document which is look like this:

<Name>
  <Work>*86</Work>
  <Home>*86</Home>
  <Mobile>*80</Mobile> 
  <Work>0</Work>
</Name>

I want to convert whole node into string. With nodenames, not only text. Any help in this regards is greatly appreciated. Thanks.

Upvotes: 20

Views: 42866

Answers (2)

felixsigl
felixsigl

Reputation: 2920

you can use JDom XMLOutputter subject to the condition that your Element is an org.jdom.Element:

XMLOutputter outp = new XMLOutputter();
String s = outp.outputString(your_jdom_element);

Upvotes: 34

wjans
wjans

Reputation: 10115

You can use a transformer for that:

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);

Upvotes: 28

Related Questions