के साथ एक्सएमएल नोड टेक्स्ट मान प्राप्त करना मैं Node.getNodeValue()
, Node.getFirstChild().getNodeValue()
या Node.getTextContent()
के साथ टेक्स्ट मान नहीं ला सकता हूं।जावा डोम
मेरे एक्सएमएल तरह
<add job="351">
<tag>foobar</tag>
<tag>foobar2</tag>
</add>
है और मैं टैग मूल्य (गैर पाठ तत्व काम करता है ठीक प्राप्त करने में कठिनाई) प्राप्त करने के लिए कोशिश कर रहा हूँ। मेरे जावा कोड लगता है
तरहDocument doc = db.parse(new File(args[0]));
Node n = doc.getFirstChild();
NodeList nl = n.getChildNodes();
Node an,an2;
for (int i=0; i < nl.getLength(); i++) {
an = nl.item(i);
if(an.getNodeType()==Node.ELEMENT_NODE) {
NodeList nl2 = an.getChildNodes();
for(int i2=0; i2<nl2.getLength(); i2++) {
an2 = nl2.item(i2);
// DEBUG PRINTS
System.out.println(an2.getNodeName() + ": type (" + an2.getNodeType() + "):");
if(an2.hasChildNodes())
System.out.println(an2.getFirstChild().getTextContent());
if(an2.hasChildNodes())
System.out.println(an2.getFirstChild().getNodeValue());
System.out.println(an2.getTextContent());
System.out.println(an2.getNodeValue());
}
}
}
यह
tag type (1):
tag1
tag1
tag1
null
#text type (3):
_blank line_
_blank line_
...
मदद के लिए धन्यवाद बाहर प्रिंट करता है।
यदि आप स्पष्ट रूप से संकेत देते हैं कि परिवर्तनीय 'एन' वर्तमान में क्या है, दस्तावेज़ या दस्तावेज़ एलिमेंट? – AnthonyWJones
मैंने 'n' घोषणा भाग – Emilio