एक्सएमएल डोम - एक्सेसिंग नोड्स
डीओएम के साथ, आप एक्सएमएल दस्तावेज़ में प्रत्येक नोड तक पहुंच सकते हैं।
इसे स्वयं आज़माएं - उदाहरण
नीचे दिए गए उदाहरण XML फ़ाइल Books.xml का उपयोग करते हैं ।
"books.xml" में तीसरा <शीर्षक> तत्व प्राप्त करने के लिए getElementsByTagName() विधि का उपयोग करें
करें "books.xml" में सभी <शीर्षक> तत्वों के माध्यम से लूप करने के लिए लंबाई संपत्ति का उपयोग करें
"books.xml" में मूल तत्व का नोड प्रकार प्राप्त करने के लिए नोड टाइप गुण का उपयोग करें।
"books.xml" में केवल तत्व नोड्स को संसाधित करने के लिए नोड टाइप गुण का उपयोग करें।
का उपयोग करके तत्व नोड्स के माध्यम से लूप करें "books.xml" में तत्व नोड्स को संसाधित करने के लिए नोड टाइप प्रॉपर्टी और अगली सिबलिंग प्रॉपर्टी का उपयोग करें।
नोड्स तक पहुंचना
आप एक नोड को तीन तरीकों से एक्सेस कर सकते हैं:
1. getElementsByTagName() विधि का उपयोग करके
2. नोड्स ट्री के माध्यम से (ट्रैवर्सिंग) लूपिंग करके।
3. नोड ट्री को नेविगेट करके, नोड संबंधों का उपयोग करके।
GetElementsByTagName () विधि:
getElementsByTagName () एक निर्दिष्ट टैग नाम के साथ सभी तत्व लौटाता है।
वाक्य - विन्यास
node.getElementsByTagName("tagname");
उदाहरण
निम्न उदाहरण x तत्व के अंतर्गत सभी <शीर्षक> तत्व लौटाता है:
x.getElementsByTagName("title");
ध्यान दें कि ऊपर दिया गया उदाहरण केवल x नोड के अंतर्गत <शीर्षक> तत्व लौटाता है। XML दस्तावेज़ में सभी <शीर्षक> तत्वों को वापस करने के लिए उपयोग करें:
xmlDoc.getElementsByTagName("title");
जहां xmlDoc दस्तावेज़ ही है (दस्तावेज़ नोड)।
डोम नोड सूची
GetElementsByTagName () विधि एक नोड सूची देता है। एक नोड सूची नोड्स की एक सरणी है।
x = xmlDoc.getElementsByTagName("title");
एक्स में <शीर्षक> तत्वों को इंडेक्स नंबर द्वारा एक्सेस किया जा सकता है। तीसरे <शीर्षक> तक पहुँचने के लिए आप लिख सकते हैं::
y = x[2];
नोट: सूचकांक 0 से शुरू होता है।
आप इस ट्यूटोरियल के बाद के अध्याय में नोड सूचियों के बारे में अधिक जानेंगे।
डोम नोड सूची की लंबाई
लंबाई संपत्ति नोड सूची (नोड्स की संख्या) की लंबाई को परिभाषित करती है।
लंबाई संपत्ति का उपयोग करके आप नोड सूची के माध्यम से लूप कर सकते हैं:
उदाहरण
var
x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
//
do something for each node
}
नोड प्रकार
XML दस्तावेज़ का दस्तावेज़ एलीमेंट गुण रूट नोड है।
नोड का नोडनाम गुण नोड का नाम है।
नोड का नोड टाइप गुण नोड का प्रकार है।
आप इस ट्यूटोरियल के अगले अध्याय में नोड गुणों के बारे में अधिक जानेंगे।
ट्रैवर्सिंग नोड्स
निम्नलिखित कोड बाल नोड्स के माध्यम से लूप करता है, जो रूट नोड के तत्व नोड भी हैं:
उदाहरण
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++)
{
// Process only element nodes (type 1)
if (x[i].nodeType == 1) {
txt += x[i].nodeName + "<br>";
}
}
उदाहरण समझाया:
- मान लीजिए आपने " books.xml " को xmlDoc में लोड किया है
- मूल तत्व के बच्चे नोड्स प्राप्त करें (xmlDoc)
- प्रत्येक बच्चे के नोड के लिए, नोड प्रकार की जाँच करें। यदि नोड प्रकार "1" है तो यह एक तत्व नोड है
- नोड का नाम आउटपुट करें यदि यह एक तत्व नोड है
नोड संबंधों को नेविगेट करना
निम्नलिखित कोड नोड संबंधों का उपयोग करके नोड ट्री को नेविगेट करता है:
उदाहरण
x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++)
{
// Process only element nodes (type 1)
if (y.nodeType == 1) {
txt += y.nodeName + "<br>";
}
y = y.nextSibling;
}
उदाहरण समझाया:
- मान लीजिए आपने " books.xml " को xmlDoc . में लोड किया है
- पहले पुस्तक तत्व के चाइल्ड नोड प्राप्त करें
- "y" चर को पहले पुस्तक तत्व के पहले चाइल्ड नोड के रूप में सेट करें
- प्रत्येक चाइल्ड नोड के लिए (पहले चाइल्ड नोड "y" से शुरू):
- नोड प्रकार की जाँच करें। यदि नोड प्रकार "1" है तो यह एक तत्व नोड है
- नोड का नाम आउटपुट करें यदि यह एक तत्व नोड है
- अगले सिबलिंग नोड के रूप में "y" चर सेट करें, और फिर से लूप के माध्यम से चलाएं