XML-Parser

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>

Try It Yourself

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;

Try It Yourself