क्या XPath 1.0 में कोई ऑपरेटर है जो SQL में "इन" ऑपरेटर के रूप में कार्य करता है?XPath "in" ऑपरेटर
select * from tbl_students where id in (1,2,3)
क्या XPath 1.0 में कोई ऑपरेटर है जो SQL में "इन" ऑपरेटर के रूप में कार्य करता है?XPath "in" ऑपरेटर
select * from tbl_students where id in (1,2,3)
= XPath 1.0 का ऑपरेटर इस तरह से काम करता है, हालांकि XPath 1.0 अनुक्रम लेखन के लिए वाक्यविन्यास प्रदान नहीं करता है। तो अगर आप प्रपत्र
<doc>
<value>1</value>
<value>2</value>
<value>3</value>
</doc>
की एक XML दस्तावेज है तो //doc[value = 2]
तरह एक अभिव्यक्ति है कि doc
तत्व वापस आ जाएगी।
XPath 2.0 में, वाक्यविन्यास (1, 2, 3)
तीन पूर्णांक का अनुक्रम बनाएगा, और आप $i = (1, 2, 3)
जैसी स्थितियां लिख सकते हैं। लेकिन शाब्दिक अनुक्रम XPath 1.0 की विशेषता नहीं है - XPath अभिव्यक्ति के एक तरफ एकाधिक मान प्राप्त करने का एकमात्र तरीका पथ अभिव्यक्ति का उपयोग करना है जो एकाधिक नोड्स से मेल खाता है।
मुझे एक ही समस्या थी, उपर्युक्त उत्तर सही है। यह और अधिक स्पष्ट करने के लिए, Xpath में कुछ इस तरह दिखेगा:
select * from documents where documenttype in ('newsletter','magazine')
यह जानने के लिए 'आईडी' आप खोज के अनुक्रम में है:
//*:document[*:documentType=("magazine","newspaper")]
जो की equivalant होगा (1, 2, 3, 4) index-of() एक विकल्प हो सकता है। ध्यान दें कि यह सूचकांक की सूची लौटाता है।
एक दस्तावेज भाग के लिए
तरह<student id='1'/>
<student id='101'/>
<student id='1001'/>
का चयन करेंगे एक सटीक जवाब के लिए की तरह
//*[not(empty(index-of((1, 2, 3, 4), @id)))]
+1 कुछ। –