fork(1) download
  1. import java.io.ByteArrayInputStream;
  2. import java.io.InputStream;
  3. import java.io.StringWriter;
  4.  
  5. import javax.xml.parsers.DocumentBuilder;
  6. import javax.xml.parsers.DocumentBuilderFactory;
  7. import javax.xml.transform.OutputKeys;
  8. import javax.xml.transform.Transformer;
  9. import javax.xml.transform.TransformerException;
  10. import javax.xml.transform.TransformerFactory;
  11. import javax.xml.transform.dom.DOMSource;
  12. import javax.xml.transform.stream.StreamResult;
  13.  
  14. import org.w3c.dom.Document;
  15. import org.w3c.dom.Node;
  16.  
  17. public class Main {
  18.  
  19. public static void main(String[] args) throws Exception {
  20.  
  21.  
  22. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  23. //dbf.setNamespaceAware(true);
  24. DocumentBuilder db = dbf.newDocumentBuilder();
  25. Document d = db.parse(is);
  26.  
  27. Node rootElement = d.getDocumentElement();
  28. System.out.println("Whole document: \n");
  29. System.out.println(nodeToString(rootElement));
  30. Node thing = rootElement.getChildNodes().item(1);
  31. System.out.println("Just Thing: \n");
  32. System.out.println(nodeToString(thing));
  33.  
  34. }
  35.  
  36. private static String nodeToString(Node node) {
  37. try {
  38. Transformer t = TransformerFactory.newInstance().newTransformer();
  39. t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
  40. t.setOutputProperty(OutputKeys.INDENT, "yes");
  41. t.transform(new DOMSource(node), new StreamResult(sw));
  42. } catch (TransformerException te) {
  43. System.out.println("nodeToString Transformer Exception");
  44. }
  45. return sw.toString();
  46. }
  47.  
  48. }
Success #stdin #stdout 0.15s 380928KB
stdin
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<MainTag xmlns="http://BlahBlahBlah" xmlns:CustomAttr="http://BlitherBlither">
    <Thing CustomAttr="borkborkbork" />
</MainTag>
stdout
Whole document: 

<?xml version="1.0" encoding="UTF-8"?><MainTag xmlns="http://BlahBlahBlah" xmlns:CustomAttr="http://BlitherBlither">
    <Thing CustomAttr="borkborkbork"/>
</MainTag>

Just Thing: 

<?xml version="1.0" encoding="UTF-8"?><Thing CustomAttr="borkborkbork"/>