xml - XPath to compare two distinct attributes of two elements -
मान लीजिए मुझे यह XML है:
& lt; x & gt; & Lt; e s = "1" t = "ए" / & gt; & Lt; e s = "2" t = "ए" / & gt; & Lt; e s = "1" t = "बी" / & gt; & Lt; / एक्स & gt;
क्या एक्सपैथ को लिखने के लिए कोई तरीका है, यह पता करने के लिए कि क्या "ई" नाम के दो अलग-अलग नोड हैं जो कि @ के समान मान हैं, लेकिन @t के विभिन्न मान पहला भाग आसान है:
// e [@s = // ई / @ s]
जैसा कि दूसरा भाग है:
// ई [@t! = // ई [@टी]]
लेकिन मुझे एक एक्सपेथ का निर्माण करने का कोई तरीका दिखाई नहीं देता जो दो अलग-अलग दो अलग तत्व "ई" के लिए विशेषताओं क्या xpath वाक्यविन्यास के भीतर कोई रास्ता है, या यह निराशाजनक है?
अनुरोधित नोड्स एक XPath 1.0 अभिव्यक्ति द्वारा चयनित किया जा सकता है।
अगर होस्टिंग भाषा XSLT 1.0 है, तो current ()
फ़ंक्शन का उपयोग करके एक अभिव्यक्ति का निर्माण किया जा सकता है, जो कि चयन करता है वांछित नोड्स।
निम्नलिखित XPath 2.0 अभिव्यक्ति का प्रयोग करें:
$ x में / * / ई [@s = (पूर्ववर्ती- Sibling :: ई | निम्नलिखित- sibling :: ई) / @ s], $ y में / * / ई [@s = $ x / @ s] वापसी $ x [नहीं (@t = $ y / @ टी]]
Comments
Post a Comment