है, मैं XPath के लिए एक नवागत हूं।XPath अभिव्यक्ति उन तत्वों को ढूंढने के लिए जिनके टैग नाम में 'नाम'
मैं उन सभी तत्वों को प्राप्त करने का एक तरीका ढूंढ रहा हूं जिनके टैग नाम में एक विशेष स्ट्रिंग है।
उदाहरण के लिए, यदि मेरे पास नीचे जैसा एक्सएमएल है, तो मैं उन सभी तत्वों को प्राप्त करना चाहता हूं जिनके टैग नाम में 'नाम' शब्द शामिल है। यानी, मैं निम्नलिखित तत्वों को प्राप्त करना चाहता हूं: <SquareName>
, <RectangleName>
, और <ParallelogramName>
।
मैं name()
, आदि में से कुछ संयोजनों की कोशिश की, लेकिन यह काम नहीं किया। कृपया सुझाव दें।
<Objects>
<Four-Sided>
<Square>
<SquareName>ABCD</SquareName>
<Length>4</Length>
<Height>4</Height>
<Colour>Blue</Colour>
</Square>
<Rectangle>
<RectangleName>EFGH</RectangleName>
<Length>10</Length>
<Height>6</Height>
<Colour>Brown</Colour>
</Rectangle>
<Parallelogram>
<ParallelogramName>WXYZ</ParallelogramName>
<Length>12</Length>
<Height>4</Height>
<Colour>Black</Colour>
</Parallelogram>
</Four-Sided>
</Objects>
उपयोग कर सकते हैं परिणाम को देखने के बाद, मुझे लगता है कि यह है कि तत्वों के बीच रिटर्न, मुझे टैग तत्व के साथ 'अवधि अवधि' के रूप में एक तत्व से बचने की आवश्यकता है। मैं प्रोग्रामिक रूप से ऐसा कर सकता हूं लेकिन सोच रहा था कि क्या XPath के लिए इसका समाधान भी है? – user2082317
आप या तो नियमित अभिव्यक्तियों का उपयोग कर सकते हैं या यदि यह केवल इसके लिए है, तो दूसरा भविष्यवाणी करें (या उन्हें 'या' का उपयोग करके गठबंधन करें): // // * [इसमें (स्थानीय-नाम(),' नाम ')] [स्थानीय-नाम ()! = 'अवधि नाम'] ' –