Heim  >  Artikel  >  Backend-Entwicklung  >  XML-Lernen (2) Detaillierte Erläuterung der DOM-Operationen an XML-Dokumenten

XML-Lernen (2) Detaillierte Erläuterung der DOM-Operationen an XML-Dokumenten

黄舟
黄舟Original
2017-03-20 16:56:091557Durchsuche

In den Augen von DOM ist HTML ein baumstrukturiertes Dokument wie XML. Jeder Knoten wird als Knotenobjekt verschiedener Typen behandelt. Jedes Node-Objekt verfügt über eigene Eigenschaften und Methoden, mit denen der gesamte Dokumentbaum durchlaufen werden kann. DOM definiert nodeType, um den Typ des Knotens darzustellen Konstante

nodeType-Wert

Bemerkungen

Element

Node.ELEMENT_NODE

1

Elementknoten

Text

Node.TEXT_NODE

3

Textknoten

Dokument

Node.DOCUMENT_NODE

9

Dokument

Kommentar

Node.COMMENT_NODE

8

Annotierter Text

DokumentFragment

Node.DOCUMENT_FRAGMENT_NODE

11

Dokumentfragment

Attr

Node.ATTRIBUTE_NODE

2

Knotenattribute

Der Wurzelknoten des DOM-Baums ist ein Document-Objekt, und manchmal verweist das Dokument auf das gesamte Dokument.

Die meisten von Document definierten Methoden sind Produktionsmethoden, die hauptsächlich zum Erstellen verschiedener Arten von Knoten verwendet werden, die in Dokumente eingefügt werden können. Häufig verwendete Dokumentmethoden sind:

Methode

Beschreibung

createAttribute()

Erstellen mit dem angegebenen Namen Neuer Attr-Knoten.

createComment()

Verwenden Sie die angegebene Zeichenfolge „Create“. ein neuer Kommentarknoten.

createElement()

Verwenden Sie den angegebenen Tag-Namen Erstellen Sie einen neuen Elementknoten.

createTextNode()

Erstellen mit dem angegebenen Text Neuer TextNode-Knoten.

getElementById()

Gibt den Elementknoten mit dem angegebenen ID-Attribut im Dokument zurück.

getElementsByTagName()

Gibt das Dokument mit dem zurück angegeben Alle Elementknoten des Tagnamens.

Element häufig verwendeter Methoden:

Gemeinsame Attribute von Knotenobjekten:

Methode

Beschreibung

getAttribute()

Gibt den Wert der angegebenen Eigenschaft als Zeichenfolge zurück.

getAttributeNode()

in Form von Attr Knoten Gibt den Wert der angegebenen Eigenschaft zurück.

getElementsByTabName()

Gibt einen Knoten zurückArray , das die Nachkommenknoten aller Elementknoten mit dem angegebenen Tag-Namen in der Reihenfolge enthält, in der sie im Dokument erscheinen.

hasAttribute()

Wenn das Element das hat Das angegebene Namensattribut gibt „true“ zurück.

removeAttribute()

Entfernt das angegebene Attribut aus dem Element.

removeAttributeNode()

Aus der Attributliste des Elements Löschen Sie den angegebenen Attr-Knoten.

setAttribute()

Setzen Sie das angegebene Attribut für Der angegebene Zeichenfolgenwert fügt ein neues Attribut hinzu, wenn es nicht vorhanden ist.

setAttributeNode()

Legen Sie den angegebenen Attr-Knoten fest Zur Attributliste des Elements hinzugefügt.

Attribute

Beschreibung

Attribute

Wenn der Knoten ein Element ist, geben Sie die Attribute des Elements in Form von NamedNodeMap zurück.

childNodes

werden in der Form von Node gespeichert [] Die untergeordneten Knoten des aktuellen Knotens. Wenn keine untergeordneten Knoten vorhanden sind, wird ein leeres Array zurückgegeben.

firstChild

Gibt den aktuellen Knoten im Formular zurück des Knotens der erste untergeordnete Knoten. null, wenn keine untergeordneten Knoten vorhanden sind.

lastChild

Gibt den aktuellen Knoten im Formular zurück of Node der letzte untergeordnete Knoten von . Dies ist null, wenn keine untergeordneten Knoten vorhanden sind.

nächstesGeschwister

Gibt den nächsten Knoten zurück, der der Geschwisterknoten des aktuellen Knotens ist, in der Form „Knoten“. Wenn kein solcher Knoten vorhanden ist, wird null zurückgegeben.

nodeName

Der Name des Knotens, Element Knoten ist Stellt den Tag-Namen des Elements dar.

nodeType

stellt den Typ des Knotens dar.

parentNode

Gibt den aktuellen Knoten im Formular zurück des übergeordneten Knotens von Node. Wenn kein übergeordneter Knoten vorhanden ist, ist dieser null.

previousSibling

Gibt als Knoten zurück Der aktuelle Knoten und seine vorherigen Geschwisterknoten. Wenn kein solcher Knoten vorhanden ist, wird null zurückgegeben.

Gemeinsame Methoden für Knotenobjekte:

Methode

Beschreibung

appendChild()

Durch Hinzufügen eines Knotens zu The Die Gruppe childNodes[] des aktuellen Knotens fügt Knoten zum Dokumentbaum hinzu.

cloneNode()

Kopieren Sie den aktuellen Knoten, oder Kopiert den aktuellen Knoten und alle seine untergeordneten Knoten.

hasChildNodes()

Wenn der aktuelle Knoten hat Wenn Sie den untergeordneten Knoten verwenden, wird „true“ zurückgegeben.

insertBefore()

Einen Dokumentbaumknoten einfügen , befindet sich vor dem angegebenen untergeordneten Knoten des aktuellen Knotens. Wenn der Knoten bereits vorhanden ist, löschen Sie ihn und fügen Sie ihn an seiner Stelle ein.

removeChild()

Aus dem Dokumentenbaum entfernen und gibt den angegebenen untergeordneten Knoten zurück.

replaceChild()

Entfernt den angegebenen untergeordneten Knoten aus dem Dokumentbaum und gibt ihn zurück , ersetzen Sie ihn durch einen anderen Knoten.


Den Wert eines Elements abrufen

Der folgende Code ruft den Textwert des ersten b2386ffb911b14667cb8f0f91ea547a7 ab. Element:

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];txt=x.nodeValue; //其实应该先判断节点是否存在

Ergebnis: txt = „Harry Potter“

Den Wert des Attributs abrufen

Der folgende Code ruft das „ des ersten <. ab ;title> Element Textwert des lang"-Attributs:

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Ergebnis: txt = "en"

Ändern Sie den Wert des Elements

Der Der folgende Code ändert den ersten < ;title> Textwert des Elements:

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="Easy Cooking";

Ändern Sie den Wert des Attributs

Die Methode setAttribute() kann verwendet werden, um den Wert eines zu ändern vorhandenes Attribut hinzufügen oder ein neues Attribut erstellen.

Der folgende Code fügt jedem 463aef0d2da08708f472268a99530dbe-Element ein neues Attribut namens „edition“ (mit dem Wert „first“) hinzu:

x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++)  {  x[i].setAttribute("edition","first");  }

Element erstellen

createElement() erstellt einen neuen Elementknoten.

Die Methode createTextNode() erstellt einen neuen Textknoten.

Die Methode appendChild() fügt einem Knoten einen untergeordneten Knoten hinzu (nach dem letzten untergeordneten Knoten).

Wenn Sie ein neues Element mit Textinhalt erstellen müssen, müssen Sie gleichzeitig einen Elementknoten und einen Textknoten erstellen.

Der folgende Code erstellt ein Element (a866a342e5caa631fbe389b07113afd3) und fügt es dem ersten 463aef0d2da08708f472268a99530dbe-Element hinzu:

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);
Erklärung von das Beispiel:

  1. Erstellen Sie das a866a342e5caa631fbe389b07113afd3-Element

  2. Erstellen Sie den Textknoten

  3. Fügen Sie diesen Textknoten an das a866a342e5caa631fbe389b07113afd3-Element hinzu
  4. Fügen Sie das a866a342e5caa631fbe389b07113afd3-Element an
  5. Element entfernen

Die Methode „removeChild()“ löscht den angegebenen Knoten (oder das angegebene Element).

Der folgende Codeausschnitt löscht den ersten Knoten im ersten 463aef0d2da08708f472268a99530dbe-Element:

Beispielcode
x=xmlDoc.getElementsByTagName("book")[0];x.removeChild(x.childNodes[0]);

<p><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;"><</span><span style="color: #800000;">html </span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">head </span><span style="color: #ff0000;">runat</span><span style="color: #0000ff;">="server"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></</span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">script </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/<a href="http://www.php.cn/wiki/48.html" target="_blank">javascript</a>"</span><span style="color: #0000ff;">></span><span style="background-color: #f5f5f5; color: #000000;"><br/></span><span style="background-color: #f5f5f5; color: #0000ff;">function</span><span style="background-color: #f5f5f5; color: #000000;"> parseXML() {<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">try</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">Internet Explorer</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            {<br/>               xmlDoc </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">new</span><span style="background-color: #f5f5f5; color: #000000;"> ActiveX<a href="http://www.php.cn/wiki/60.html" target="_blank">Object</a>(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">Microsoft.XMLDOM</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>            }<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">catch</span><span style="background-color: #f5f5f5; color: #000000;"> (e) {              <br/></span><span style="background-color: #f5f5f5; color: #0000ff;">try</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">Firefox, Mozilla, Opera, etc.</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                {<br/>                    xmlDoc </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> document.implementation.createDocument(</span><span style="background-color: #f5f5f5; color: #000000;">""</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #000000;">""</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #0000ff;">null</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                }<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">catch</span><span style="background-color: #f5f5f5; color: #000000;"> (e) {<br/>                    alert(e.message);<br/></span><span style="background-color: #f5f5f5; color: #0000ff;"><a href="http://www.php.cn/wiki/135.html" target="_blank">return</a></span><span style="background-color: #f5f5f5; color: #000000;">;<br/>                }<br/>            }<br/>            xmlDoc.async </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">false</span><span style="background-color: #f5f5f5; color: #000000;">; </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">假如xml载入完毕执行以下</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            xmlDoc.load(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">note.xml</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">var</span><span style="background-color: #f5f5f5; color: #000000;"> x </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> xmlDoc.getElementsByTagName(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">to</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">            xmlDoc.getElementsByTagName("to")[0].setAttribute("<a href="http://www.php.cn/wiki/1255.html" target="_blank">date</a>") = "1515";  //设置属性值</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">            xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue = "tiewang"; //设置文本节点值</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            <br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">            //<a href="http://www.php.cn/code/6276.html" target="_blank">循环</a>修改</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">            for (i = 0; i < x.length; i++) {</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                if (x[i].childNodes[0] == null) { //如果不存在问题,则添加</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                    newText1 = xmlDoc.createTextNode("af");</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                    x[i].appendChild(newText1);</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                }</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                x[i].childNodes[0].nodeValue = "af";</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">            }</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">            //循环添加 //注意,如果把create放在<a href="http://www.php.cn/code/5913.html" target="_blank">for循环</a>外面,则只能添加到最后一个,需要放在for里面</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            </span><span style="background-color: #f5f5f5; color: #0000ff;">for</span><span style="background-color: #f5f5f5; color: #000000;"> (i </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #000000;">0</span><span style="background-color: #f5f5f5; color: #000000;">; i </span><span style="background-color: #f5f5f5; color: #000000;"><</span><span style="background-color: #f5f5f5; color: #000000;"> x.length; i</span><span style="background-color: #f5f5f5; color: #000000;">++</span><span style="background-color: #f5f5f5; color: #000000;">) {<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">if</span><span style="background-color: #f5f5f5; color: #000000;"> (x[i].getElementsByTagName(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">too</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">)[</span><span style="background-color: #f5f5f5; color: #000000;">0</span><span style="background-color: #f5f5f5; color: #000000;">] </span><span style="background-color: #f5f5f5; color: #000000;">==</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">null</span><span style="background-color: #f5f5f5; color: #000000;">) {<br/>                    newElemenet </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> xmlDoc.createElement(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">too</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                    newText </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> xmlDoc.createTextNode(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">logo</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                    newElemenet.setAttribute(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">id</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">1</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                    newElemenet.appendChild(newText);       <br/>                    x[i].appendChild(newElemenet);<br/>                }<br/>            }<br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">            //循环删除</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">            for (i = 0; i < x.length; i++) {</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                if (x[i].getElementsByTagName("too")[0] != null) {</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                    x[i].removeChild(x[i].getElementsByTagName("too")[0]);</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">                }</span><span style="background-color: #f5f5f5; color: #008000;"><br/>//</span><span style="background-color: #f5f5f5; color: #008000;">            }</span></p><p><span style="background-color: #f5f5f5; color: #008000;"> </span><span style="background-color: #f5f5f5; color: #008000;">    <br/></span><span style="background-color: #f5f5f5; color: #000000;">           <span style="font-family: Courier New; background-color: #f5f5f5;">      </span></span></p><p><span style="background-color: #f5f5f5; color: #000000;"><span style="font-family: Courier New; background-color: #f5f5f5;">      //删除to -> too 节点中的ID属性<br/>            for (i = 0; i < x.length; i++) {<br/>                if (x[i].getElementsByTagName("too")[0] != null) {<br/>                    if (x[i].getElementsByTagName("too")[0].getAttribute("id")!=null) {<br/>                        x[i].getElementsByTagName("too")[0].removeAttribute("id");<br/>                    }<br/>                }<br/>            }</span><br/></span><span style="background-color: #f5f5f5; color: #0000ff;">var</span><span style="background-color: #f5f5f5; color: #000000;"> xmlHttp;<br/><br/></span><span style="background-color: #f5f5f5; color: #0000ff;">try</span><span style="background-color: #f5f5f5; color: #000000;"> {<br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;"> Firefox, Opera 8.0+, Safari</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                xmlHttp </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">new</span><span style="background-color: #f5f5f5; color: #000000;"> XMLHttpRequest();<br/>            }<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">catch</span><span style="background-color: #f5f5f5; color: #000000;"> (e) {<br/><br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;"> Internet Explorer</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                </span><span style="background-color: #f5f5f5; color: #0000ff;">try</span><span style="background-color: #f5f5f5; color: #000000;"> {<br/>                    xmlHttp </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">new</span><span style="background-color: #f5f5f5; color: #000000;"> ActiveXObject(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">Msxml2.XMLHTTP</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                }<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">catch</span><span style="background-color: #f5f5f5; color: #000000;"> (e) {<br/><br/></span><span style="background-color: #f5f5f5; color: #0000ff;">try</span><span style="background-color: #f5f5f5; color: #000000;"> {<br/>                        xmlHttp </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">new</span><span style="background-color: #f5f5f5; color: #000000;"> ActiveXObject(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">Microsoft.XMLHTTP</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/>                    }<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">catch</span><span style="background-color: #f5f5f5; color: #000000;"> (e) {<br/>                        alert(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">您的浏览器不支持AJAX!</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">);<br/></span><span style="background-color: #f5f5f5; color: #0000ff;">return</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">false</span><span style="background-color: #f5f5f5; color: #000000;">;<br/>                    }<br/>                }<br/>            }<br/>            xmlHttp.onreadystatechange </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #0000ff;">function</span><span style="background-color: #f5f5f5; color: #000000;">() {    </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">onreadystatechange 属性存有处理服务器响应的<a href="http://www.php.cn/wiki/145.html" target="_blank">函数</a></span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                </span><span style="background-color: #f5f5f5; color: #0000ff;">if</span><span style="background-color: #f5f5f5; color: #000000;"> (xmlHttp.readyState </span><span style="background-color: #f5f5f5; color: #000000;">==</span><span style="background-color: #f5f5f5; color: #000000;"> </span><span style="background-color: #f5f5f5; color: #000000;">4</span><span style="background-color: #f5f5f5; color: #000000;">) {       </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">readyState 属性存有服务器响应的<a href="http://www.php.cn/code/8243.html" target="_blank">状态</a>信息</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                    document.getElementById(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">to</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">).innerHTML </span><span style="background-color: #f5f5f5; color: #000000;">=</span><span style="background-color: #f5f5f5; color: #000000;"> xmlHttp.responseText; </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">通过 responseText 属性来取回由服务器返回的数据</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">                }<br/>            }<br/>            xmlHttp.open(</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">POST</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">receive.<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp</a>x?type=xmlsave</span><span style="background-color: #f5f5f5; color: #000000;">"</span><span style="background-color: #f5f5f5; color: #000000;">, </span><span style="background-color: #f5f5f5; color: #0000ff;">true</span><span style="background-color: #f5f5f5; color: #000000;">); <br/><br/></span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;"> open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(GET 还是 POST)。第二个参数规定服务器端脚本的 URL。第三个参数规定应当对请求进行异步地处理。</span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">            xmlHttp.send(xmlDoc);      </span><span style="background-color: #f5f5f5; color: #008000;">//</span><span style="background-color: #f5f5f5; color: #008000;">send() 方法可将请求送往服务器     </span><span style="background-color: #f5f5f5; color: #008000;"><br/></span><span style="background-color: #f5f5f5; color: #000000;">    }<br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">script</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">body </span><span style="color: #ff0000;"><a href="http://www.php.cn/wiki/1467.html" target="_blank">onload</a></span><span style="color: #0000ff;">="parseXML()"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">form </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="form1"</span><span style="color: #ff0000;"> runat</span><span style="color: #0000ff;">="server"</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">h1 </span><span style="color: #ff0000;">id </span><span style="color: #0000ff;">= "to"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"><</span><span style="color: #800000;">h1 </span><span style="color: #ff0000;">id </span><span style="color: #0000ff;">="value"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">h1</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/><br/><br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">p</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span><span style="color: #000000;"><br/></span><span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span></p>

Das obige ist der detaillierte Inhalt vonXML-Lernen (2) Detaillierte Erläuterung der DOM-Operationen an XML-Dokumenten. 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