एक्सएमएल पार्सर
सभी प्रमुख ब्राउज़रों में XML तक पहुँचने और उसमें हेरफेर करने के लिए एक अंतर्निहित XML पार्सर होता है।
एक्सएमएल पार्सर
XML DOM (डॉक्यूमेंट ऑब्जेक्ट मॉडल) XML तक पहुँचने और संपादित करने के लिए गुणों और विधियों को परिभाषित करता है ।
हालाँकि, किसी XML दस्तावेज़ तक पहुँचने से पहले, इसे XML DOM ऑब्जेक्ट में लोड किया जाना चाहिए।
सभी आधुनिक ब्राउज़रों में एक अंतर्निहित XML पार्सर होता है जो टेक्स्ट को XML DOM ऑब्जेक्ट में परिवर्तित कर सकता है।
टेक्स्ट स्ट्रिंग को पार्स करना
यह उदाहरण एक टेक्स्ट स्ट्रिंग को XML DOM ऑब्जेक्ट में पार्स करता है, और जावास्क्रिप्ट के साथ उससे जानकारी निकालता है:
उदाहरण
<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
उदाहरण समझाया गया
एक पाठ स्ट्रिंग परिभाषित किया गया है:
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
एक एक्सएमएल डोम पार्सर बनाया गया है:
parser = new DOMParser();
पार्सर टेक्स्ट स्ट्रिंग का उपयोग करके एक नया XML DOM ऑब्जेक्ट बनाता है:
xmlDoc = parser.parseFromString(text,"text/xml");
इंटरनेट एक्सप्लोरर के पुराने संस्करण
Internet Explorer के पुराने संस्करण (IE5, IE6, IE7, IE8) DOMParser ऑब्जेक्ट का समर्थन नहीं करते हैं।
Internet Explorer के पुराने संस्करणों को संभालने के लिए, जांचें कि क्या ब्राउज़र DOMParser ऑब्जेक्ट का समर्थन करता है, या फिर एक ActiveXObject बनाएँ:
उदाहरण
if (window.DOMParser) {
// code for modern browsers
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
}
else {
// code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
XMLHttpRequest ऑब्जेक्ट
XMLHttpRequest ऑब्जेक्ट में XML पार्सर बनाया गया है।
प्रतिक्रिया टेक्स्ट संपत्ति एक स्ट्रिंग के रूप में प्रतिक्रिया देता है ।
responseXML गुण XML DOM ऑब्जेक्ट के रूप में प्रतिक्रिया देता है ।
यदि आप प्रतिक्रिया को XML DOM ऑब्जेक्ट के रूप में उपयोग करना चाहते हैं, तो आप responseXML प्रॉपर्टी का उपयोग कर सकते हैं।
उदाहरण
फ़ाइल cd_catalog.xml का अनुरोध करें और XML DOM ऑब्जेक्ट के रूप में प्रतिक्रिया का उपयोग करें:
xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;