XML DOM - Eigenschaften und Methoden

Eigenschaften und Methoden definieren die Programmschnittstelle für den XML-DOM.

Beispiel

Der folgende Beispiel verwendet XML-Dateien books.xml

Funktion loadXMLDoc()befindet sich im externen JavaScript, um XML-Dateien zu laden.

Funktion loadXMLString()befindet sich im externen JavaScript, um XML-Strings zu laden.

Laden und Parsen von XML-Dateien
Laden und Parsen von XML-Strings

Programmschnittstelle

DOM simuliert XML als eine Reihe von Knoten-Interfaces. Knoten können über JavaScript oder andere Programmiersprachen erreicht werden. In diesem教程 verwenden wir JavaScript.

Der Programmierschnittstelle des DOM wird durch eine Reihe von standardisierten Eigenschaften und Methoden definiert.

EigenschaftenHäufig wird der Stil "Was ist etwas" verwendet (z.B. Name des Knotens ist "book").

MethodenWird oft in der Form "Eine Sache tun" verwendet (z.B. löschen "book" Knoten).

XML DOM-Attribute

Einige typische DOM-Attribute:

  • x.nodeName - Name von x
  • x.nodeValue - Wert von x
  • x.parentNode - Elterneknoten von x
  • x.childNodes - Unter节点 von x
  • x.attributes - Attributknoten von x

Anmerkung:In der obigen Liste ist x ein Knotenobjekt.

XML DOM Methoden

  • x.getElementsByTagName(name) - Alle Elemente mit dem angegebenen Namenname erhalten
  • x.appendChild(node) - Fügen Sie einen Unter节点 zu x hinzu
  • x.removeChild(node) - Entfernen Sie den Unter节点 von x

Anmerkung:In der obigen Liste ist x ein Knotenobjekt.

Beispiel

JavaScript-Code, um Text von dem <title>-Element in books.xml zu erhalten:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue

Nach Ausführung dieses Satzes wird der Wert, den txt speichert, "Harry Potter".

Erklärung:

  • xmlDoc - Von dem Parser erstellter XML DOM
  • getElementsByTagName("title")[0] - Erster <title>-Knoten
  • childNodes[0] - Erster Unter节点 des <title>-Elements (Textknoten)
  • nodeValue - Wert des Knotens (Text selbst)

Im obigen Beispiel ist getElementsByTagName eine Methode, während childNodes und nodeValue Attribute sind.

XML-Datei analysieren - Cross-Browser-Beispiel

Der folgende Codeabschnitt verwendet die Funktion loadXMLDoc, um books.xml Laden Sie den XML-Parser und zeigen Sie die Daten des ersten book an:

xmlDoc=loadXMLDoc("books.xml");
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Ausgabe:

Harry Potter
J K. Rowling
2005

TIY

Im obigen Beispiel verwenden wir childNodes[0] für jeden Textknoten, auch wenn jeder Element nur einen Textknoten hat. Dies liegt daran, dass die Methode getElementsByTagName() immer ein Array zurückgibt.

XML-Zeichenkette analysieren - Cross-Browser-Beispiel

Der folgende Code lädt und parset eine XML-Zeichenkette:

Der folgende Codeabschnitt verwendet die Funktion loadXMLString, um books.xml Laden Sie den XML-Parser und zeigen Sie die Daten des ersten 'book' an:

text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";
xmlDoc=loadXMLString(text);
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Ausgabe:

Harry Potter
J K. Rowling
2005

TIY