"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा XPath क्वेरीज़ में XML नेमस्पेस को कैसे प्रबंधित करें?

जावा XPath क्वेरीज़ में XML नेमस्पेस को कैसे प्रबंधित करें?

2024-12-22 को प्रकाशित
ब्राउज़ करें:120

How to Handle XML Namespaces in Java XPath Queries?

जावा XPath क्वेरीज़ में XML नेमस्पेस हैंडलिंग

जावा में, XPath के साथ XML को क्वेरी करते समय, नेमस्पेस एक चुनौती पेश कर सकता है। जब XML में कोई नेमस्पेस नहीं होता है, तो XPath क्वेरीज़ सीधी हो सकती हैं, लेकिन नेमस्पेस की उपस्थिति जटिलताओं का परिचय देती है। क्वेरीज़ डिफ़ॉल्ट नेमस्पेस का उपयोग करती हैं, जो प्रभावी रूप से कोई नेमस्पेस नहीं है। इस मामले में, "/वर्कबुक/शीट/शीट[1]" जैसी क्वेरी आसानी से तत्वों को पुनः प्राप्त कर सकती हैं।

केस 2: नेमस्पेस के साथ एक्सएमएल

हालांकि, एक्सएमएल के साथ निम्नलिखित जैसे नामस्थान जटिलता जोड़ते हैं:

शीट्स> ऐसे मामलों में, XPath अभिव्यक्ति "/workbook/शीट्स/शीट[1]" विफल हो जाएगी क्योंकि तत्व "http://schemas.openxmlformats.org/spreadSheetml/ से बंधे हैं 2006/मुख्य" नेमस्पेस।

समाधान:


  
    
  

नेमस्पेस पंजीकरण: पसंदीदा तरीका नेमस्पेस को उपसर्ग के साथ पंजीकृत करना और इसका उपयोग करना है XPath क्वेरी, इसे पढ़ना और बनाए रखना आसान बनाती है।

    विधेय के साथ सामान्य मिलान:
  1. बिना नेमस्पेस पंजीकरण, एक अधिक जटिल XPath अभिव्यक्ति का उपयोग किया जा सकता है:
  2. /*[local-name()='workbook' और namespace-uri()='http://schemas.openxmlformats.org /स्प्रेडशीटएमएल/2006/मुख्य'] /*[स्थानीय-नाम()='शीट' और नेमस्पेस-यूरी()='http://schemas.openxmlformats.org/spreadशीटml/2006/main'] /*[स्थानीय नाम()='शीट' और नेमस्पेस-यूरी()='http://schemas.openxmlformats.org/spreadSheetml/2006/main'][1]
  3. स्थानीय-नाम मिलान:
एक कम पसंदीदा विकल्प केवल तत्व के स्थानीय नाम पर मिलान करना है, नामस्थान को अनदेखा करना, लेकिन मिश्रित शब्दावली होने पर गलत तत्वों का चयन करने का जोखिम होता है अस्तित्व।


  
    
  
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3