xpath                
            विशिष्ट पाठ वाले तत्वों को खोजना
        
        
            
    खोज…
कुछ पाठ के साथ सभी तत्वों का पता लगाएं
निम्नलिखित XML की कल्पना करें:
<root>
    <element>hello</element>
    <another>
        hello
    </another>
    <example>Hello, <nested> I am an example </nested>.</example>
</root>
 निम्नलिखित XPath अभिव्यक्ति:
//*[text() = 'hello']
  <element>hello</element> तत्व लौटाएगा, लेकिन <another> तत्व नहीं। ऐसा इसलिए है क्योंकि <another> तत्व में hello पाठ के आसपास व्हाट्सएप है। 
 दोनों <element> और <another> को पुनः प्राप्त करने के लिए, कोई भी उपयोग कर सकता है: 
//*[normalize-space(text()) = 'hello']
 या
//*[normalize-space() = 'hello']
  जो तुलना करने से पहले आसपास के व्हाट्सएप को ट्रिम कर देगा। यहां हम देख सकते हैं कि normalize-space का उपयोग करते समय text() नोड स्पेसिफिक वैकल्पिक normalize-space । 
 विशिष्ट टेक्स्ट वाली एक तत्व को खोजने के लिए, आप उपयोग कर सकते हैं contains कार्य करते हैं। निम्नलिखित अभिव्यक्ति <example> तत्व को लौटाएगी: 
//example[contains(text(), 'Hello')]
  यदि आप ऐसे टेक्स्ट को ढूंढना चाहते हैं जो कई बच्चों / टेक्स्ट नोड्स को फैलाते हैं, तो आप उपयोग कर सकते हैं . text() बजाय text() । . तत्व की संपूर्ण पाठ सामग्री को संदर्भित करता है और यह बच्चे हैं। 
//example[. = 'Hello,  I am an example .']
 कई टेक्स्ट नोड्स देखने के लिए, आप उपयोग कर सकते हैं:
//example//text()
 जो वापस आएगा:
- "नमस्कार, "
 - "मैं एक उदाहरण हूं"
 - "।"
 
 और अधिक स्पष्ट रूप से एक तत्व की संपूर्ण पाठ सामग्री को देखने के लिए, एक string फ़ंक्शन का उपयोग कर सकता है: 
string(//example[1])
 या केवल
string(//example)
 हैलो, मैं एक उदाहरण हूं।
 उत्तरार्द्ध काम करता है, क्योंकि अगर नोड-सेट को string जैसे कार्यों में पारित किया जाता है, तो XPath 1.0 बस उस नोड-सेट में पहले नोड (दस्तावेज़ क्रम में) को देखता है, और बाकी को अनदेखा करता है। 
इसलिए:
string(/root/*)
 लौटूंगा:
नमस्कार