चिल्ड चाइल्ड वैल्यू के आधार पर तत्व का चयन करने के लिए XPath


208

इसमें से एक बच्चे के मूल्य के आधार पर एक तत्व का चयन करने की कोशिश कर रहा है

निम्नलिखित पर विचार करना लेकिन काम नहीं करना, किसी भी मदद की सराहना करें, धन्यवाद

./book[/author/name = 'John'] या

./book[/author/name text() = 'John']

सभी पुस्तकें चाहते हैं जहां लेखक का नाम = 'जॉन' हो

Xml फ़ाइल

<list>
   <book>
      <author>
         <name>John</name>
         <number>4324234</number>
      </author>
      <title>New Book</title>
      <isbn>dsdaassda</isbn>
   </book>
   <book>...</book>
   <book>...</book>
</list>

जवाबों:


300

लगभग वहाँ पहुँच गया। अपने विधेय में, आप एक सापेक्ष मार्ग चाहते हैं , इसलिए परिवर्तन करें

./book[/author/name = 'John'] 

करने के लिए या तो

./book[author/name = 'John'] 

या

./book[./author/name = 'John'] 

और आप अपने तत्व से मेल खाएंगे। आपका वर्तमान विधेय दस्तावेज़ की जड़ में वापस जाता है author


1
बिना .मेरे लिए काम नहीं किया (आवश्यक ./author/name)
माइकलचिरिको

क्या किसी फ़ंक्शन में इस सिंटैक्स का उपयोग करना संभव है? जैसे, कुछ को कैसे लागू करें ./book[contains(author/name, "John")]?
बस एक शिक्षार्थी 11

1
@OgrishMan नए सवाल में जाना चाहिए नया प्रश्न है, लेकिन उससे पहले मैं सिर्फ यह कोशिश होगी! आम तौर पर आप xpath में स्ट्रिंग शाब्दिक के लिए 'दोहरे उद्धरण चिह्नों के बजाय एकल उद्धरण चाहते हैं "
आकाशवाणी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.