XML-ontleder
Alle groot blaaiers het 'n ingeboude XML-ontleder om toegang tot XML te verkry en te manipuleer.
XML-ontleder
Die XML DOM (Document Object Model) definieer die eienskappe en metodes vir toegang tot en wysiging van XML.
Voordat toegang tot 'n XML-dokument verkry kan word, moet dit egter in 'n XML DOM-objek gelaai word.
Alle moderne blaaiers het 'n ingeboude XML-ontleder wat teks in 'n XML DOM-objek kan omskakel.
Ontleding van 'n teksstring
Hierdie voorbeeld ontleed 'n teksstring in 'n XML DOM-objek, en onttrek die inligting daaruit met JavaScript:
Voorbeeld
<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>
Voorbeeld Verduidelik
'n Teksstring word gedefinieer:
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
'n XML DOM-ontleder word geskep:
parser = new DOMParser();
Die ontleder skep 'n nuwe XML DOM-objek deur die teksstring te gebruik:
xmlDoc = parser.parseFromString(text,"text/xml");
Ou weergawes van Internet Explorer
Ou weergawes van Internet Explorer (IE5, IE6, IE7, IE8) ondersteun nie die DOMParser-objek nie.
Om ouer weergawes van Internet Explorer te hanteer, kyk of die blaaier die DOMParser-objek ondersteun, of skep anders 'n ActiveXObject:
Voorbeeld
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);
}
Die XMLHttpRequest-objek
Die XMLHttpRequest-objek het 'n ingeboude XML-ontleder.
Die responseText- eienskap gee die antwoord as 'n string terug.
Die responseXML- eienskap gee die respons terug as 'n XML DOM-objek.
As jy die respons as 'n XML DOM-objek wil gebruik, kan jy die responseXML-eienskap gebruik.
Voorbeeld
Versoek die lêer cd_catalog.xml en gebruik die antwoord as 'n XML DOM-objek:
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;