एक्सएमएल डॉम नोड लोकेशन
- पिछला पृष्ठ DOM ब्राउज़र
- अगला पृष्ठ DOM नोड बनाना
नोड को नोडों के बीच के संबंधों के द्वारा स्थानित किया जा सकता है。
उदाहरण
नीचे दिए गए उदाहरण XML फ़ाइल का उपयोग करता है books.xml।
फ़ंक्शन loadXMLDoc()विदेशी जावास्क्रिप्ट में स्थित है, जिसका उपयोग XML फ़ाइलों को लोड करने के लिए किया जाता है。
- एक नोड के पैरेंट नोड को प्राप्त करें
- इस उदाहरण में parentNode अटीबूट का उपयोग किया जाता है एक नोड के पिता नोड को प्राप्त करने के लिए।
- नोड के पहले चालक नोड को प्राप्त करें
- इस उदाहरण में firstChild() फ़ंक्शन और एक स्वयंगत फ़ंक्शन का उपयोग किया जाता है एक नोड के पहले चालक नोड को प्राप्त करने के लिए。
DOM नोड नेविगेशन
नोडों के संबंधों के माध्यम से नोड ट्री में किए जाने वाले नोडों को पहुँचने, ये आमतौर पर 'नोड नेविगेशन' ("navigating nodes") के रूप में जाना जाता है。
XML DOM में, नोड के संबंधों को नोड के अटीबूट के रूप में परिभाषित किया जाता है:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
नीचे दिए गए चित्र इसे दिखाता है books.xml एक नोड ट्री के एक हिस्सा है, और नोडों के बीच के संबंधों को स्पष्ट करता है:

DOM - पिता नोड
सभी नोड केवल एक पिता नोड हैं। नीचे दिए गए कोड <book> के पिता नोड को स्थापित करता है:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; document.write(x.parentNode.nodeName);
उदाहरण का व्याख्यान:
- इस द्वारा उपयोग करके loadXMLDoc() इस "books.xml" xmlDoc में लोड करें
- पहले <book> एलीमेंट को प्राप्त करें
- x के पिता नोड का नोड नाम आउटपुट करें
खाली टेक्स्ट नोड से बचना
Firefox, और कुछ अन्य ब्राउज़र, खाली शून्य अंतराल या लिनेटेक्स को टेक्स्ट नोड के रूप में परिभाषित करते हैं, जबकि IE ऐसा नहीं करता。
यह निम्नलिखित अटीबूटों का उपयोग करते समय एक समस्या पैदा करता है: firstChild, lastChild, nextSibling, previousSibling。
खाली टेक्स्ट नोड (एलीमेंट नोडों के बीच के खाली अंतराल और लिनेटेक्स) को पास करने से बचने के लिए, हम एक फ़ंक्शन का उपयोग करते हैं जो नोड के प्रकार की जांच करता है:
function get_nextSibling(n) { y=n.nextSibling; while (y.nodeType!=1) { y=y.nextSibling; } return y; }
उपरोक्त फ़ंक्शन के साथ, हम get_nextSibling(node) का उपयोग कर सकते हैं बजाय node.nextSibling अटीबूट के。
कोड व्याख्या:
एलीमेंट नोड का प्रकार 1 है। यदि समान स्तर के नोड एक एलीमेंट नोड नहीं है, तो अगले नोड की ओर जाएं, जब तक कि एक एलीमेंट नोड नहीं मिले। इस तरह, IE और Firefox में एक समान परिणाम प्राप्त किया जा सकता है。
पहले एलीमेंट प्राप्त करें
नीचे दिए गए कोड पहले <book> के पहले एलीमेंट नोड को दिखाता है:
<html> <head> <script type="text/javascript" src="loadxmldoc.js"> </script> <script type="text/javascript"> //चेक करें कि पहला नोड एक एलीमेंट नोड है function get_firstChild(n) { y=n.firstChild; while (y.nodeType!=1) { y=y.nextSibling; } return y; } </script> </head> <body> <script type="text/javascript"> xmlDoc=loadXMLDoc("books.xml"); x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]); document.write(x.nodeName); </script> </body> </html>
आउटपुट:
title
उदाहरण का व्याख्यान:
- इस द्वारा उपयोग करके loadXMLDoc() इस "books.xml" xmlDoc में लोड करें
- पहले <book> के ऊपर get_firstChild फ़ंक्शन का उपयोग करके एलिमेंट नोड के भीतर पहले चालक को प्राप्त करें
- पहले चालक (एलिमेंट नोड के साथ) का नोड नाम आउटपुट करें
उदाहरण
इस उदाहरण में समान कार्यों का उपयोग किया जाता है:
- पिछला पृष्ठ DOM ब्राउज़र
- अगला पृष्ठ DOM नोड बनाना