एक डोम डॉक्यूमेंट आपके वीबीए कोड में एक्सएमएल दस्तावेज़ रखने के लिए एक कंटेनर (चर/ऑब्जेक्ट) है।
जैसे आप एक स्ट्रिंग वेरिएबल का उपयोग स्ट्रिंग्स मान रखने के लिए करते हैं, वैसे ही आप किसी XML दस्तावेज़ को रखने के लिए DomDocument का उपयोग कर सकते हैं।
(DomDocuments गुणों की पूरी सूची के लिए, इस पृष्ठ को आधा नीचे देखें)
मुझे परवाह क्यों है कि डोम डॉक्यूमेंट क्या है?
एक्सेल में एक्सएमएल को स्प्रेडशीट (एक्सएमएल मैप्स) में ले जाने के कुछ बहुत ही सहज तरीके हैं, लेकिन:
• क्या होगा यदि आप डेटा को पुनर्प्राप्त करने के बाद उसमें हेरफेर करना चाहते हैं, लेकिन इससे पहले कि डेटा आपके सेल में दिखाई दे?
• क्या होगा यदि आप कॉम्बोबॉक्स, लेबल, या टेक्स्टबॉक्स जैसे मैप किए गए कक्षों के बजाय XML डेटा को नियंत्रण में आयात करना चाहते हैं?
एक्सएमएल मानचित्रों का उपयोग करके इन दोनों कार्यों को पूरा करना मुश्किल है (यदि असंभव नहीं है)। हालाँकि हम XML डेटा को एक डोम डॉक्यूमेंट में आयात कर सकते हैं, फिर हमें जो डेटा चाहिए उसे बाहर निकाल सकते हैं, नियंत्रणों को लिख सकते हैं, डेटा को फ़िल्टर कर सकते हैं या डेटा को स्प्रेडशीट में प्रकट होने से पहले उसमें हेरफेर कर सकते हैं।
मैं XML को DOMDocument में कैसे लोड करूं?
निम्न उदाहरण एक्सेल 2003 का उपयोग करता है। विजुअल बेसिक एडिटर गोटो टूल्स-> संदर्भ में और "माइक्रोसॉफ्ट एक्सएमएल v5.0" के लिए बॉक्स में एक चेकमार्क रखें।
अब हमें कुछ एक्सएमएल चाहिए। हाल ही में मैंने इस साइट के लिए एक Google साइटमैप बनाया है, और यह XML में है, तो चलिए इसका उपयोग करते हैं: AutomateExcel Google XML साइटमैप
मेरे साइटमैप एक्सएमएल दस्तावेज़ को एक्सेल में डोमडॉक्यूमेंट ऑब्जेक्ट में लोड करने के लिए, निम्न कोड का उपयोग करें (जिसमें चीजों को समझाते हुए टिप्पणी की गई है):
1234567891011121314151617181920212223242526272829303132333435 | उप डोम डॉक्यूमेंट बेसिक ()MSXML2.DOMDocument के रूप में मंद ओडोम'डोमडॉक्यूमेंट ऑब्जेक्ट बनाएं'सेट oDom = CreateObject ("MSXML2.DOMDocument")'आगे बढ़ने से पहले पूरे दस्तावेज़ को लोड करें'oDom.async = असत्य'मान्य न करें'oDom.validateOnParse = FalseoDom.Load ("AutomateExcel Google XML साइटमैप")MsgBox oDom.XMLअंत उप |
कोड बस एक्सएमएल लोड करता है और इसे एक संदेश बॉक्स में प्रदर्शित करता है:
नोट: यदि आप किसी URL से XML लोड करते हैं और आपको परेशानी हो रही है, तो सुनिश्चित करें कि आप "लाइन" को नहीं भूले हैंoDom.async = असत्य“.
मैं डोम डॉक्यूमेंट को कैसे पार करूं?
अब जब मुझे किसी ऑब्जेक्ट में XML डेटा मिल गया है, तो मैं इसके साथ "कुछ कैसे करूं"?
योग्य, मैं अभी भी इस भाग को सीख रहा हूँ। मैं भविष्य की पोस्ट में मूल बातें पोस्ट करूंगा और यहां एक लिंक छोड़ दूंगा।
पोस्ट का शीर्षक "What is a DomDocument" था, उम्मीद है कि अब आपके पास एक विचार है।