2011-04-19 6 views
6

मेरे पास एक ही विशेषता वाले 2 तत्व हैं लेकिन विभिन्न बाल नोड मानों के साथ। क्या मैं एक विशिष्ट तत्व ढूंढने के लिए क्वेरी कर सकता हूं जो विशेषता से मेल खाता है और बच्चे नोड मान भी। विशिष्ट होने के लिए, यह नमूना xml है जिसे मैं क्वेरी के लिए उपयोग कर रहा हूं (मूल xml में प्रत्येक तत्व में 10 से अधिक बच्चे नोड्स हैं)।एक शर्त के साथ तत्व खोजने के लिए xpath क्वेरी जो विशेषता और बच्चे नोड मान से मेल खाता है

<Book size="2"> 
    <Title>abc</Title> 
    <Price>10</Price> 
</Book> 
<Book size="2"> 
    <Title>xyz</Title> 
    <Price>20</Price> 
</Book> 
<Book size="4"> 
    <Title>Harry</Title> 
    <Price>10</Price> 
</Book> 

तो, अब मैं जो @size = "2" और Title = xyz है बुक तत्व लगाना चाहते हैं।

क्या यह SelectSingleNode विधि का उपयोग कर संभव है? अगर यह सवाल नहीं है?

धन्यवाद

+0

[एकाधिक भविष्यवाणियों के साथ एक्सपैथ अभिव्यक्ति के संभावित डुप्लिकेट] (http://stackoverflow.com/questions/568713/xpath-expression-with-multiple-predicates) –

उत्तर

12

यह:

//Book[@size='2'][Title='xyz'] 

या इस:

//Book[@size='2' and Title='xyz'] 

ध्यान रखें कि आपकी स्कीमा में जाना जाता है // के प्रयोग को प्रोत्साहित कर रहा है।

1

क्या यह काम करता है?

//Book[@size='2']//Title[text() = "xyz"]/..