Xpath में, मैं उन तत्वों का चयन करना चाहता हूं जो एक विशिष्ट मूल्य के बराबर हैं।
नमूना XML डेटा:
<aaa id="11" >
<aaa id="21" >
<aaa id="31" ></aaa>
<bbb id="32" >
<aaa id="41" ></aaa>
<bbb id="42" ></bbb>
<ccc id="43" ></ccc>
<ddd id="44" >qwerty</ddd>
<ddd id="45" ></ddd>
<ddd id="46" ></ddd>
</bbb>
</aaa>
<bbb id="22" >
<aaa id="33" >qwerty</aaa>
<bbb id="34" ></bbb>
<ccc id="35" ></ccc>
<ddd id="36" ></ddd>
<ddd id="37" ></ddd>
<ddd id="38" ></ddd>
</bbb>
<ccc id="23" >qwerty</ccc>
<ccc id="24" ></ccc>
</aaa>
अब, XPath का उपयोग कर:
//ccc[.='qwerty']
मुझे सही, अपेक्षित परिणाम मिले:
Name Value
ccc qwerty
अब, XPath का उपयोग कर:
//aaa[.='qwerty']
मुझे अप्रत्याशित परिणाम मिले:
Name Value
aaa
aaa qwerty
और जो मुझे विशेष रूप से दिलचस्पी है, वह है कि उस मूल्य के साथ किसी भी तत्व का चयन कैसे करें
XPath:
//*[.='qwerty']
मुझे बहुत अजीब अप्रत्याशित परिणाम मिले:
Name Value
aaa
bbb
ddd qwerty
bbb qwerty
aaa qwerty
ccc qwerty
क्या कोई इन परिणामों की व्याख्या कर सकता है, और अधिक अपेक्षित परिणाम प्राप्त करने के लिए मेरे XPath अभिव्यक्तियों को कैसे ठीक किया जाए?
. =
से अलग हैtext() =
। यह जानने के लिए कि स्ट्रिंग मानों से मेल खाते हुए टेक्स्ट नोड्स मिलते-जुलते हैं, क्यों।