XML Parser

All mainstream browsers have built-in XML parsers for accessing and manipulating XML.

De parser zet XML om naar een XML DOM-object - een object dat met JavaScript kan worden bewerkt.

XML Parser

XML DOM (Document Object Model)Definieerde eigenschappen en methoden voor het benaderen en bewerken van XML.

Echter, voordat je de XML-document kan benaderen, moet je het laden naar een XML DOM-object.

Alle moderne browsers bieden een ingebouwde XML-parsert die tekst kan omzetten naar een XML DOM-object.

Parseer een tekststring

Deze voorbeeld toont hoe een tekststring wordt geparset naar een XML DOM-object en hoe je met JavaScript informatie eruit haalt:

voorbeeld

<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2013</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>

Probeer het zelf

Voorbeeldverklaring

Definieer een tekststring:

text = "<bookstore><book>" +
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2013</year>" +
"</book></bookstore>";

Maak een XML DOM-parser aan:

parser = new DOMParser();

De parser heeft een nieuwe XML DOM-object gemaakt met deze tekststring:

xmlDoc = parser.parseFromString(text,"text/xml");

XMLHttpRequest-object

XMLHttpRequest-objectbiedt een ingebouwde XML-parsert.

responseText eigenschap geeft de respons terug als een string.

responseXML eigenschap gebruiken om de respons terug te geven in de vorm van een XML DOM-object.

Als je de respons wilt gebruiken als XML DOM-object, kun je de responseXML eigenschappen.

voorbeeld

verzoekbestand cd_catalog.xml,enkel zo te gebruiken als XML DOM-object:

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;

Probeer het zelf