के बीच अंतर कोई पाठ() और स्ट्रिंग() फ़ंक्शंस के बीच अंतर को समझा सकता है। मैं अक्सर एक दूसरे के साथ उपयोग करता हूं, लेकिन इससे कोई फर्क नहीं पड़ता है, दोनों को एक्सएमएल नोड का स्ट्रिंग मान मिलेगा।टेक्स्ट() और स्ट्रिंग()
उत्तर
क्या कोई पाठ() और स्ट्रिंग() फ़ंक्शंस के बीच अंतर को समझा सकता है।
मैं text()
एक समारोह लेकिन एक node test नहीं है।
इसका उपयोग संदर्भ नोड के सभी टेक्स्ट-नोड बच्चों का चयन करने के लिए किया जाता है।
इसलिए, यदि संदर्भ नोड x
नामक तत्व है, तो text()
x
के सभी टेक्स्ट-नोड बच्चों का चयन करता है।
अन्य उदाहरण:
/a/b/c/text()
किसी भी c
तत्व है कि किसी भी b
तत्व यह है कि शीर्ष तत्व a
का एक बच्चा है का एक बच्चा है के सभी पाठ नोड बच्चों का चयन करता है।
II। string()
फ़ंक्शन
परिभाषा द्वारा string(exprSelectingASingleNode)
नोड के string value लौटाता है।
किसी दस्तावेज़ का स्ट्रिंग मान दस्तावेज़ ऑर्डर में अपने सभी टेक्स्ट-नोड वंशों का संगतता है।
इसलिए, यदि निम्न XML दस्तावेज़ में:
<a>
<b>2</b>
<c>3
<d>4</d>
</c>
5
</a>
string(/a)
रिटर्न (आसपास के उद्धृत्ध)
"
2
3
4
5
"
के रूप में हम देखते हैं, स्ट्रिंग मान तीन सफेद-अंतरिक्ष को दर्शाता है केवल पाठ-नोड्स, जिन्हें हम आम तौर पर नोटिस करने और खाते में विफल होने में विफल रहते हैं।
कुछ एक्सएमएल पार्सर्स के पास व्हाइट-स्पेस-केवल टेक्स्ट नोड्स को अलग करने का विकल्प होता है।
string(/a)
अब रिटर्न:
"23
4
5
"
अधिकांश समय, आप सामग्री चाहते हैं तो ऊपर दस्तावेज़ केवल सफेद-अंतरिक्ष-पाठ बंद छीन नोड्स, तो एक ही समारोह के साथ पार्स किया गया था एक तत्व नोड एक्स का, आप इसे "।" के रूप में संदर्भित कर सकते हैं, यदि यह संदर्भ नोड है, या "एक्स" के रूप में यदि यह संदर्भ नोड का बच्चा है।उदाहरण के लिए:
<xsl:if test="X = 'abcd'">...
या
<xsl:value-of select="."/>
दोनों मामलों में, क्योंकि संदर्भ एक स्ट्रिंग की मांग, string()
समारोह स्वचालित रूप से लागू किया जाता है। (यह थोड़ा सा सरलीकरण है, यदि आप स्कीमा-जागरूक एक्सएसएलटी 2.0 चला रहे हैं तो नियम थोड़ा अधिक जटिल हैं)।
"string()
" का उपयोग करना अनावश्यक है, क्योंकि यह स्वचालित रूप से किया जाता है; और text()
का उपयोग करना एक गलती है (एक ऐसा लगता है जो वेब पर कुछ खराब ट्यूटोरियल द्वारा प्रोत्साहित किया जाता है)। इस स्थिति में ./text()
या X/text()
का उपयोग करके आप तत्व के सभी टेक्स्ट नोड बच्चों को प्रदान करते हैं। अक्सर तत्व में एक टेक्स्ट नोड बच्चा होता है जिसका स्ट्रिंग मान तत्व के स्ट्रिंग मान के समान होता है, लेकिन यदि कोई टिप्पणी या प्रोसेसिंग निर्देश जोड़ता है तो आपका कोड विफल हो जाता है, क्योंकि मान को कई टेक्स्ट नोड्स में विभाजित किया जाता है। अगर तत्व एक है यह भी विफल रहता है (कहते हैं कि "title
") जो मिश्रित सामग्री की अनुमति देता है: string(title)
और title/text()
एक ही जवाब देने के लिए जा रहे हैं जब तक आप शीर्षक के साथ एक लेख मारा
<title>On the wetness of H<sub>2</sub>O</title>
- 1. एंड्रॉइड के बीच अंतर: टेक्स्ट = "@ स्ट्रिंग" और एंड्रॉइड: टेक्स्ट = "..."
- 2. संपादन टेक्स्ट से स्ट्रिंग
- 3. एक्सेल: "केएक्स + एम" टेक्स्ट स्ट्रिंग
- 4. स्ट्रिंग सरणी में टेक्स्ट फ़ाइल पढ़ें (और लिखें)
- 5. एक टेक्स्ट फ़ाइल पढ़ना और उसे स्ट्रिंग में बदलना
- 6. Edittext से स्ट्रिंग में टेक्स्ट और स्माइली कैसे प्राप्त करें?
- 7. टेक्स्ट सफाई और प्रतिस्थापन: जावा
- 8. जेनकिन्स 'स्ट्रिंग पैरामीटर बनाम टेक्स्ट पैरामीटर
- 9. टेक्स्ट व्यू में स्ट्रिंग में ऑनक्लिक स्थिति
- 10. एंड्रॉइड: टेक्स्ट व्यू स्वचालित रूप से स्ट्रिंग
- 11. स्वरूपित HTML टेक्स्ट स्ट्रिंग को एनएसएसटींग भागों
- 12. स्ट्रिंग चर से टेक्स्ट कनेक्शन कैसे बनाएं?
- 13. टेक्स्ट स्ट्रिंग में मानचित्र पूर्णांक (आईडी)?
- 14. एंड्रॉइड टेक्स्ट व्यू और टेक्स्ट की लाइन
- 15. टाइपप्रति: स्ट्रिंग और स्ट्रिंग
- 16. RichTextBox (WPF) में स्ट्रिंग प्रॉपर्टी "टेक्स्ट"
- 17. डीबी 2 टेक्स्ट स्ट्रिंग लम्बाई निर्धारित करें
- 18. स्ट्रिंग टेक्स्ट को बिटमैप में कनवर्ट करें
- 19. अपाचे सौर स्ट्रिंग फ़ील्ड या टेक्स्ट फ़ील्ड?
- 20. संपादन टेक्स्ट से स्ट्रिंग प्राप्त करें
- 21. एक टेक्स्ट फ़ाइल पढ़ें और एंड्रॉइड
- 22. संपादन टेक्स्ट से सटीक टेक्स्ट कैसे प्राप्त करें और एंड्रॉइड
- 23. SlickGrid और टेक्स्ट चयन
- 24. टेक्स्ट फ़ाइल बनाएं और
- 25. पीडीएफ और टेक्स्ट लेयर
- 26. XPath - नोड() और टेक्स्ट()
- 27. वैल() और टेक्स्ट()
- 28. सेगमेंटिंग शब्द, और टेक्स्ट
- 29. टेक्स्ट और अंडरलाइन
- 30. टेक्स्ट बोल्ड और इटैलिक
मुझे लगता है कि एक का उपयोग कर विश्वास करने के लिए इस्तेमाल किया अभिव्यक्ति = "/ somenode/text()" जैसी अभिव्यक्ति वास्तव में अधिक सटीक और कम त्रुटि प्रवण होगी। तो आप सुझाव दे रहे हैं कि/text() हिस्सा अनावश्यक है, यहां तक कि एक गलती भी? क्या आप संक्षेप में चर्चा कर सकते हैं जब यह एक अच्छा विचार है या उपयोग/पाठ() का उपयोग करने के लिए उपयोगी है? धन्यवाद – user8658912
टिप्पणियां पूरक प्रश्न पूछने के लिए डिज़ाइन नहीं की गई हैं, कृपया एक नया प्रश्न उठाएं। –
(दूसरे शब्दों में) आपका कथन कि _ "स्ट्रिंग() स्वचालित रूप से लागू होता है" _ कई एक्सएसएलटी तत्वों में सत्य है, जैसे xsl: value-of। हालांकि, ध्यान दें कि उपयोगकर्ता अपने प्रश्न में XSLT का उल्लेख नहीं करता है। इसलिए, जैसा कि आपने समझाया है, टेक्स्ट() या स्ट्रिंग() का उपयोग करना आमतौर पर गलत/अनावश्यक ** एक्सएसएलटी ** में है, लेकिन उदाहरण के लिए स्ट्रिंग() का उपयोग करना समझ में आता है उदाहरण के लिए XQuery में नोड के स्ट्रिंग मान की अपेक्षा करते समय, अन्यथा हम इसके बजाय पूर्ण नोड प्राप्त करेंगे, है ना? जबकि पाठ() विशेष रूप से टेक्स्ट नोड्स के माध्यम से ब्राउज़ करने के लिए अपरिवर्तित होगा। – user8658912