XML-Parser
- Previous Page XML HttpRequest
- Next Page XML DOM
Alle gängigen Browser verfügen über einen eingebauten XML-Parser, um auf XML zuzugreifen und damit zu arbeiten.
Der Parser wandelt XML in ein XML-DOM-Objekt um - ein durch JavaScript manipulierbares Objekt.
XML-Parser
XML DOM (Document Object Model)Es wurden Eigenschaften und Methoden definiert, um auf und im XML zuzugreifen und zu bearbeiten.
Bevor auf ein XML-Dokument zugegriffen werden kann, muss es in ein XML-DOM-Objekt geladen werden.
Alle modernen Browser bieten einen eingebauten XML-Parser, der Text in ein XML-DOM-Objekt umwandelt.
Parsen Sie den Textzeichenfolge
Dieser Beispielcode parst einen Textzeichenfolge in ein XML-DOM-Objekt und extrahiert Informationen damit mittels JavaScript:
Beispiel
<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>
Beispiel-Explainierung
Definieren Sie einen Textzeichenfolge:
text = "<bookstore><book>" + "<title>雅舍谈吃</title>" + "<author>梁实秋</author>" + "<year>2013</year>" + "</book></bookstore>";
Erstellen Sie einen XML-DOM-Parser:
parser = new DOMParser();
Der Parser hat mit dieser Textzeichenfolge einen neuen XML-DOM-Objekt erstellt:
xmlDoc = parser.parseFromString(text,"text/xml");
XMLHttpRequest-Objekt
XMLHttpRequest-Objektbietet einen eingebauten XML-Parser.
responseText
Eigenschaft die Antwort als Zeichenfolge zurückgibt.
responseXML
Eigenschaft die Antwort im Format XML-DOM-Objekt zurückgeben.
Um die Antwort als XML-DOM-Objekt zu verwenden, kann die responseXML
Eigenschaften.
Beispiel
Angeforderte Datei cd_catalog.xmlund die Antwort als XML-DOM-Objekt verwenden:
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;
- Previous Page XML HttpRequest
- Next Page XML DOM