2012-01-11 21 views
20

मैं एक नोड पाया है, अब मैं इसे बाद भाई पाठ का चयन करने की जरूरत है:XPath - कुछ नोड के बाद चयन पाठ

enter image description here

मेरे मामले में मैं पाठ प्राप्त करने की आवश्यकता : 10 January

कैसे क्या मैं यह करता हूँ?

उत्तर

33

इस प्रयास करें:

//foo/following-sibling::text()[1]

(अपने वर्तमान XPath अभिव्यक्ति के साथ //foo/ की जगह

इस XML के साथ

:।।

<data> 
<foo>foo</foo> 
bar 
<baz>baz</baz> 
</data> 

यह bar आउटपुट के रूप में देता है

करने के लिए
+6

एक दूसरे के लिए pedantic हो, 'बार' के आस-पास सफेद जगह महत्वपूर्ण है, इसलिए आउटपुट * बिल्कुल *' बार' नहीं है। आप 'normalize-space (// foo/follow-sibling :: text() [1])' –

+0

का उपयोग करना चाहेंगे, यदि मेरे पास कई समान संरचनाएं हैं और केवल एक पहचानकर्ता 'foo' टेक्स्ट है,' के बीच टैग क्या मैं 'foo' का उपयोग कर सकता हूं और भाई का पालन कर सकता हूं। अगर आप अपना उत्तर अपडेट कर सकते हैं तो मैं सराहना करता हूं! – mrquad

+0

@WayneBurkett 'normalize-space' केवल 1' स्ट्रिंग 'देता है। आप XPath 1.0 में सामान्यीकृत सभी 'मैचों' को कैसे वापस कर सकते हैं? – Viraj

संबंधित मुद्दे