Heim >Web-Frontend >js-Tutorial >Wie kann ich XML-Daten in JavaScript mithilfe des DOM analysieren?

Wie kann ich XML-Daten in JavaScript mithilfe des DOM analysieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 01:01:101001Durchsuche

How Can I Parse XML Data in JavaScript Using the DOM?

XML mit JavaScript analysieren: Eine umfassende Lösung

Um XML-Daten in JavaScript zu analysieren, können Sie das DOM (Document Object Model) ohne verwenden externe Bibliotheken.

Parsen von XML-Daten aus einem String

Wenn das XML in einer Variablen namens txt gespeichert ist, können Sie es mit dem DOMParser analysieren:

if (window.DOMParser) {
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(txt, "text/xml");
} else {
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(txt);
}

Spezifische Werte von Knoten abrufen

Sobald das XML analysiert ist, können Sie bestimmte Daten aus dem abrufen Knoten:

// Get house address number
streetNumber = xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;

// Get street name
street = xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue;

// Get postal code
postalCode = xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue;

Umgang mit XML mit Namespace-Präfixen

Wenn das XML Namespace-Präfixe enthält, sollten Sie den Namespace-URI verwenden, wenn Sie den Knoten anfordern:

console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue); // Gets "streetNumber" without the 'sn' prefix

console.log(xmlDoc.getElementsByTagNameNS("example.com/postal", "postalcode")[0].childNodes[0].nodeValue); // Gets postal code with 'p' namespace prefix

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Daten in JavaScript mithilfe des DOM analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn