मेरे पास एक कक्षा का चयन करने के लिए एक XPath है जो मैं चाहता हूं: //div[@class='myclass']
। लेकिन यह मेरे पूरे div (<div class='myclass'>
भी साथ देता है, लेकिन मुझे लगता है। टैग से बिना इस टैग के केवल सामग्री को वापस चाहते हैं मैं यह कर सकता कैसे?XPath के साथ नोड मान/आंतरिक HTML कैसे प्राप्त करें?
उत्तर
xpath के साथ, जो चीज आपको वापस मिल जाएगी वह उस स्थिति में आखिरी चीज है जो एक शर्त नहीं है। इसका क्या मतलब है? ठीक है, परिस्थितियां बीच की चीजें हैं []
(लेकिन आप पहले से ही जानते थे) और आपका पथ एलीमेंट [जैसे पढ़ता है जिसमें मूल्य 'मेरी कक्षा'] के साथ 'वर्ग' विशेषता है। HElement [
से पहले सीधे आता है।
सभी तो []
के के बाहर सामान, पथ है तो //a/b/c[@blah='bleh']/d
एक, ख, ग और घ में सब पथ तत्व हैं, blah एक विशेषता और bleh है एक शाब्दिक मूल्य। यदि यह पथ मेल खाता है तो यह आपको डी, अंतिम गैर-हालत वाली चीज़ वापस कर देगा।
आपका विशेष पथ आपके xpath के पथ में आखिरी चीज होने के नाते div की श्रृंखला (श्रृंखला) देता है। इस वापसी मूल्य में इस प्रकार आपके मामले में शीर्ष-स्तरीय नोड, div शामिल है, और इसके नीचे (उनके) बच्चे हैं। नोड तत्व या पाठ हो सकते हैं (या टिप्पणियां, प्रसंस्करण निर्देश, ...)।
एक नोड के नीचे कई टेक्स्ट नोड्स हो सकते हैं, इसलिए सरणी पोकहा वार्ता के बारे में बात करती है। x/text()
एक्स, x/node()
का प्रत्यक्ष बच्चा सभी पाठ नोड्स, टेक्स्ट सहित सभी पाठ देता है।
उम्मीद है कि इससे मदद मिलती है।
node() = innerXml
text() = innerText
दोनों सरणियों हैं, तो पाठ () [1] पहला बच्चों का पाठ नोड है ...
आप
// div [@ class = 'MyClass']/बच्चे कोशिश कर सकते हैं :: *
बच्चे :: * संदर्भ नोड के सभी तत्व बच्चों का चयन करता है see details
एक पुराने, अक्सर पूछे जाने वाले प्रश्न के न्यू जवाब:
इस XML के लिए
<div class="myclass">content</div>
आप सिर्फ दो तरीकों में से एक में content
चयन करने के लिए XPath का उपयोग कर सकते हैं:
पाठ नोड चयन
यह XPath,
//div[@class='myclass']/text()
अनुरोधित अनुसार
div
तत्व,content
के टेक्स्ट नोड बच्चों का चयन करेगा। एक तत्वयह XPath का
स्ट्रिंग मान, के रूप में अनुरोध
string(//div[@class='myclass'])
लक्षित
div
तत्व की string-value,content
लौटने के लिए, फिर से होगा।अधिक जानकारी:
एक तत्व नोड के string-value है तत्व की सभी पाठ नोड descendants की string-value रों के संयोजन: यहाँ एक noteस्ट्रिंग मान तत्वों की समझा है दस्तावेज़ क्रम में नोड।
एक्सएमएल में एकाधिक टेक्स्ट नोड्स कैसा दिखेंगे? क्या पाठ() चयनित आंतरिक नोड के सभी आंतरिक टेक्स्ट का एक संयोजन वापस करेगा? – CoDEmanX
@CoDEmanX: '