2011-06-30 9 views
12

मैं xmlजावा - स्ट्रिंग के रूप में एक एक्सएमएल नोड की सभी सामग्री प्राप्त करना

 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db = dbf.newDocumentBuilder(); 
    InputSource is = new InputSource(); 
    is.setCharacterStream(new StringReader(data)); 
    Document doc = db.parse(is); 

पार्सिंग करने के लिए इस कोड का उपयोग कर रहा हूं अब मैं एक एक्सएमएल नोड से सभी सामग्री प्राप्त करना चाहता हूं। इस xml

<?xml version='1.0'?> 
<type> 
    <human>      
    <Name>John Smith</Name>    
    <Address>1/3A South Garden</Address>  
    </human> 
</type> 

की तरह है तो यदि <human> की सभी सामग्री टेक्स्ट के रूप में प्राप्त करना चाहते हैं।

<Name>John Smith</Name> 
<Address>1/3A South Garden</Address> 

मैं इसे कैसे प्राप्त कर सकता हूं?

उत्तर

29
private String nodeToString(Node node) { 
    StringWriter sw = new StringWriter(); 
    try { 
    Transformer t = TransformerFactory.newInstance().newTransformer(); 
    t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 
    t.transform(new DOMSource(node), new StreamResult(sw)); 
    } catch (TransformerException te) { 
    System.out.println("nodeToString Transformer Exception"); 
    } 
    return sw.toString(); 
} 
+0

इस स्निपेट के समान दिखता है: http://snippets.dzone.com/posts/show/4011 –

+0

धन्यवाद। यह काम कर रहा है। – Barun

संबंधित मुद्दे