XML spielt eine wichtige Rolle in Webdiensten und kann in Kombination mit mehreren Client- und Serversprachen eine leistungsstarke Rolle spielen. In diesem Artikel wird untersucht, wie Sie XML- und Client -JavaScript verwenden, um XML -Dateiinhalte anzuzeigen, auf untergeordnete Elemente zuzugreifen, Elemente zu betreiben usw.
In Kundensprachen ist die Browserkompatibilität ein wichtiges Problem. Für die Kombination von XML und JavaScript ist das Problem hauptsächlich XML: Nicht alle Browser unterstützen die Parsen von XML -Dokumenten.
Das folgende Codebeispiel basiert auf IE6. Browser, die XML nicht unterstützen, können diese Codes nicht lesen. Wenn Sie XML -Dateien in diesen Browsern anzeigen, ignoriert der Browser alle Tags.
BeispielFolgendes ist eine Beispiel -XML -Datei mit Mitarbeitern und Umsatz von Unternehmensmitarbeitern:
<?xml version="1.0" ?> <company> <employee age="19" sex="M">Premshree Pillai</employee> <employee age="24" sex="M">Kumar Singh</employee> <employee age="21" sex="M">Ranjit Kapoor</employee> <turnover> <year>100,000</year> <year>140,000</year> <year>200,000</year> </turnover> </company>
manipulieren XML -Datei
laden
Sie können XML -Dateien durch den folgenden JavaScript -Code laden:var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); function loadXML(xmlFile) { xmlDoc.async = "false"; xmlDoc.onreadystatechange = verify; xmlDoc.load(xmlFile); xmlObj = xmlDoc.documentElement; }
In der Tat reichen die letzten beiden Zeilen der Funktion aus, um die XML -Datei zu laden. Die ersten beiden Zeilen stellen sicher, dass jede JavaScript -Funktion, mit der XML -Dateidaten danach manipuliert werden, keine Vorgänge für nicht initialisierte Objekte ausführt. Daher rufen Sie verifizieren () Funktionen:
function verify() { // 0 对象未初始化 // 1 对象正在加载数据 // 2 对象已加载数据 // 3 可以处理对象中的数据 // 4 对象完全初始化 if (xmlDoc.readyState != 4) { return false; } }
Die XML -Datei kann jetzt geladen werden:
loadXML('xml_file.xml');
XML -Dateiinhalt anzeigen
alert(xmlObj.xml);
Verwenden Sie
Sube -Elemente und Knoten
<company></company>
In der obigen XML-Datei befindet sich
<company></company>
In der obigen XML-Datei enthält das TOP-Tag
<turnover></turnover>
Die Anzahl der untergeordneten Elemente (normalerweise in allen Sprachen) beginnt bei 0 (Null). Es gibt 3 Kinderelemente unter dem -Tag.
childNodes.length
Wir können das Attribut <company></company>
verwenden, um die Anzahl der untergeordneten Elemente, die das Tag hat, zu finden. Daher finden Sie die Anzahl der untergeordneten Elemente des xmlObj.childNodes.length
-Tags (4 hier) über .
Die Anzahl der untergeordneten Elemente des <turnover></turnover>
xmlObj.childNodes(3).childNodes.length
-Tags (3 hier) finden Sie über .
childNodes(3)
Wir verwenden hier <turnover></turnover>
, weil <company></company>
das dritte untergeordnete Element von ist.
Testen Sie untergeordnete Elemente
childNodes(i).hasChildNodes
Sie können
xmlObj.childNodes(3).hasChildNodes()
daher wird xmlObj.childNodes(2).hasChildNodes()
wahr zurückkehren. <employee></employee>
wird falsch zurückgegeben, weil das -Tag keine untergeordneten Elemente enthält.
Holen Sie sich den Tag -Namen
Sie können childNodes(i).tagName
verwenden, um den Labelnamen des untergeordneten Elements zu erhalten. Daher wird xmlObj.tagName
"Firma" zurückgeben. xmlObj.childNodes(0).tagName
wird "Mitarbeiter" zurückgeben. xmlObj.childNodes(3).childNodes(0).tagName
wird "Jahr" zurückkehren.
Zeigen Sie den Inhalt des Tags
an In einer XML -Datei lautet der Inhalt des ersten <employee></employee>
-Tags "Premshhree Pillai". Sie können diesen Wert mit xmlObj.childNodes(0).firstChild.text
erhalten.
<?xml version="1.0" ?> <company> <employee age="19" sex="M">Premshree Pillai</employee> <employee age="24" sex="M">Kumar Singh</employee> <employee age="21" sex="M">Ranjit Kapoor</employee> <turnover> <year>100,000</year> <year>140,000</year> <year>200,000</year> </turnover> </company>
Eigenschaften
In einer XML -Datei enthält das <employee></employee>
-Tag 3 Eigenschaften. Auf die Eigenschaften kann mit childNodes(i).getAttribute("AttributeName")
zugegriffen werden. Daher wird xmlObj.childNodes(0).getAttribute("id")
"001" zurückgegeben. xmlObj.childNodes(1).getAttribute("age")
wird "24" zurückkehren. xmlObj.childNodes(2).getAttribute("sex")
wird "f" zurückgeben.
... (Der nachfolgende Inhalt, einschließlich des FAQ -Teils, kann auf die gleiche Weise umgeschrieben werden, die ursprüngliche Bedeutung beibehalten und die Formulierung und die Satzstruktur anpassen.)
Das obige ist der detaillierte Inhalt vonLesen und Anzeigen von serverseitigem XML mit JavaScript -Artikel - Teil 1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!