वाले एक्सएमएल दस्तावेज़ों पर XPath का उपयोग कैसे करें मैं डिफ़ॉल्ट नामस्थान वाले एक्सएमएल दस्तावेज़ में हेरफेर करना चाहता हूं लेकिन कोई उपसर्ग नहीं। क्या नेमस्पेस यूरी के बिना xpath का उपयोग करने का कोई तरीका है जैसे कि कोई नामस्थान नहीं है?
मेरा मानना है कि यह संभव होना चाहिए यदि हम दस्तावेज़ की नेमस्पेस संपत्ति संपत्ति सेट करें FilderFactory को झूठी। लेकिन मेरे मामले में यह काम नहीं कर रहा है।
क्या मेरी समझ गलत है या मैं कोड में कुछ गलती कर रहा हूं?डिफ़ॉल्ट नामस्थान
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(false);
try {
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document dDoc = builder.parse("E:/test.xml");
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList) xPath.evaluate("//author", dDoc, XPathConstants.NODESET);
System.out.println(nl.getLength());
} catch (Exception e) {
e.printStackTrace();
}
यहाँ मेरी xml है:
यहाँ मेरी कोड है
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.mydomain.com/schema">
<author>
<book title="t1"/>
<book title="t2"/>
</author>
</root>
पर निर्भरता इस एक ही समस्या एक पूछे जाने वाले प्रश्न के लिए Default XML namespace, JDOM, and XPath – belwood