20

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.

bluish
  • 24,718
  • 26
  • 114
  • 174
arsalan
  • 203
  • 1
  • 2
  • 5

2 Answers2

33

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);
dARKpRINCE
  • 1,508
  • 2
  • 13
  • 21
felixsigl
  • 2,890
  • 22
  • 16
28

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);
wjans
  • 9,794
  • 5
  • 31
  • 39
  • im working on android 2.0 in which Transformer clases are not available,there is any another way? – arsalan Mar 22 '11 at 12:23