Heim > Web-Frontend > js-Tutorial > Wie analysiert man XML-Daten in JavaScript mit dem DOM-Parser?

Wie analysiert man XML-Daten in JavaScript mit dem DOM-Parser?

Patricia Arquette
Freigeben: 2024-12-05 11:59:15
Original
690 Leute haben es durchsucht

How to Parse XML Data in JavaScript Using the DOM Parser?

XML mit JavaScript analysieren

Das Parsen von XML mit JavaScript umfasst die Konvertierung von XML-Daten in ein besser verwaltbares Format für die Verarbeitung. Um XML ohne externe Frameworks zu analysieren, können wir das Document Object Model (DOM) verwenden, das in den meisten modernen Browsern verfügbar ist.

Betrachten Sie das folgende XML, das in einer Zeichenfolgenvariablen gespeichert ist:

<address>
  <street>Roble Ave</street>
  <streetNumber>649</streetNumber>
  <lat>37.45127</lat>
  <lng>-122.18032</lng>
  <distance>0.04</distance>
  <postalcode>94025</postalcode>
  <placename>Menlo Park</placename>
  <adminCode2>081</adminCode2>
  <adminName2>San Mateo</adminName2>
  <adminCode1>CA</adminCode1>
  <adminName1>California</adminName1>
  <countryCode>US</countryCode>
</address>
Nach dem Login kopieren

Zum Parsen Um dieses XML mithilfe von DOM zu erstellen, können wir die folgenden Schritte ausführen:

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

Sobald das XML analysiert ist, können wir bestimmte Werte aus dem abrufen Knoten:

// Gets house address number
console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue);

// Gets Street name
console.log(xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue);

// Gets Postal Code
console.log(xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue);
Nach dem Login kopieren

Wenn das XML außerdem Namespace-Präfixe enthält, sollten die Präfixe bei der Anforderung des Namespace nicht enthalten sein:

// XML with Namespace prefixes
txt = `
Roble Ave 649 94025
`; // Parse with Namespace prefixes if (window.DOMParser) { parser = new DOMParser(); xmlDoc = parser.parseFromString(txt, "text/xml"); } else { // Internet Explorer xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.loadXML(txt); } // Gets "streetNumber" (note there is no prefix of "sn") console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue); // Gets Street name console.log(xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue); // Gets Postal Code console.log(xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie analysiert man XML-Daten in JavaScript mit dem DOM-Parser?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage