XPath: यदि कोई विशेषता मौजूद है तो कैसे जांचें?


104

निम्नलिखित XML को देखते हुए, मैं नोड को खींचने के लिए एक XPath क्वेरी कैसे लिखूं जहां विशेषता fooमौजूद है ?:

<node1>
  <node2>
    <node3 foo='bar'></node3>
    <node3></node3>
    <node3 bar='foo'></node3>
    <node3 foo='foobar'></node3>
  </node2>
</node1>

जवाबों:


163

छोटा एवं सुन्दर:

//*[@foo]

बेशक आपको अधिक विशिष्ट अभिव्यक्ति का उपयोग करना चाहिए। लेकिन आपके साथ [@attributeName]सभी नोड्स मिलते हैं जिनमें वह विशेषता होती है।


25

निम्नलिखित XPath अभिव्यक्ति का उपयोग करें

//*[boolean(@foo)]

8

यदि आप उपयोग करते हैं और xpath करते हैं, तो यह आपकी मदद कर सकता है:

count(//*[@foo])

यह नोड / बच्चे की गिनती लौटाएगा जिसमें विशेषता फू है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.