<a>
<b/>
<c/>
<d/>
<b/>
<e/>
</a>
मैं "ए" के उन बच्चों को कैसे चुनूं जो "बी" नहीं हैं?XPath: बाल तत्वों का चयन करें जो * * के पास एक विशिष्ट नाम नहीं है
<a>
<b/>
<c/>
<d/>
<b/>
<e/>
</a>
मैं "ए" के उन बच्चों को कैसे चुनूं जो "बी" नहीं हैं?XPath: बाल तत्वों का चयन करें जो * * के पास एक विशिष्ट नाम नहीं है
/a/*[not(self::b)]
Xpath दिखेगा:
a/*[name(.) !='b']
तो, के चुनिंदा बच्चों 'एक' जिसका नाम बराबर 'बी' नहीं है
यह ब्रेक तब होता है जब नामस्थान और उपसर्ग का उपयोग किया जा रहा है। – Lucero
@ लुसेरो - स्रोत एक्सएमएल के अनुसार कोई नामस्थान नहीं है, लेकिन यदि ऐसा है तो आपके पास "स्थानीय नाम" फ़ंक्शन – Dewfy
हाँ है, और स्थानीय-नाम() ब्रेक भी इसलिए है क्योंकि यह विशिष्ट तत्व नाम के बजाय किसी भी नामस्थान से तत्वों से मेल खाता है। चूंकि यहां पोस्ट किए गए नमूने अक्सर सरलीकृत होते हैं (यहां स्पष्ट रूप से स्पष्ट) मैं इतना निश्चित नहीं हूं कि कोई नामस्थान उपयोग नहीं किया जाएगा, और फिर भी अगर कोई गुगल हो और इस उत्तर में आता है तो उन्हें पता होना चाहिए कि आपका समाधान नामस्थानों के साथ काम नहीं करता है। – Lucero
XPath 2.0 के साथ आप भी कर सकते हैं
/a/(* except b)
+1 'स्वयं' धुरी के अच्छे उपयोग के लिए +1;) – Lucero
@ लुसेरो: मुझे उस विचार के लिए @ टोमालक देना है :) – AakashM
क्रेडिट के लिए धन्यवाद। :) – Tomalak