मैं एक बड़ी एक्सएमएल फ़ाइल को पार्स करने का प्रयास करता हूं और मैं XPath अभिव्यक्तियों के लिए बहुत से सापेक्ष पथ का उपयोग कर रहा हूं।XPath अभिव्यक्ति मूल्यांकन त्रुटि
अब मैं .NET XPath मूल्यांकन के साथ एक समस्या में भाग रहा हूं।
यहाँ एक छोटा सा उदाहरण है जो मेरी समस्या बताते हैं:
static void Main(string[] args)
{
System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.Load(@"D:\simpleXml.xml");
System.Diagnostics.Trace.WriteLine(d.SelectSingleNode("//price/..[year=\'2005\']").Name);
}
मैं निम्न त्रुटि संदेश मिलता है: यहाँ
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
</book>
</bookstore>
और कोड है अतिरिक्त जानकारी: '// मूल्य /। [वर्ष = '2005'] 'में एक अवैध टोकन है।
मेरे लिए, यह एक वैध XPath अभिव्यक्ति प्रतीत होता है, क्योंकि XMLSpy जैसे अन्य टूल सफलतापूर्वक उस अभिव्यक्ति का मूल्यांकन करते हैं।
.NET XPath 2.0 का समर्थन नहीं करता है। –
@ MatíasFidemraizer जो बहुत कुछ बताता है, धन्यवाद – exagi
यदि वर्ष मूल्य से पहले आता है तो आप '// कीमत [पूर्ववर्ती-भाई :: वर्ष = '2005']' का उपयोग कर सकते हैं। – Pawel