Heim > Web-Frontend > js-Tutorial > Lesen und Anzeigen von serverseitigem XML mit JavaScript -Artikel - Teil 1

Lesen und Anzeigen von serverseitigem XML mit JavaScript -Artikel - Teil 1

Christopher Nolan
Freigeben: 2025-03-10 00:53:09
Original
745 Leute haben es durchsucht

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.

Browser -Kompatibilitätsprobleme

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.

Beispiel
XML -Datei

Folgendes 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>
Nach dem Login kopieren
Nach dem Login kopieren
XML -Dateidaten mit JavaScript

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;
}
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

Die XML -Datei kann jetzt geladen werden:
loadXML('xml_file.xml');
Nach dem Login kopieren

XML -Dateiinhalt anzeigen

alert(xmlObj.xml); Verwenden Sie

, um den gesamten Inhalt der XML -Datei anzuzeigen. Die gesamte XML -Datei wird wie in der Warnbox mit entsprechender Einklage angezeigt.

Sube -Elemente und Knoten

<company></company> In der obigen XML-Datei befindet sich

das Tag der obersten Ebene, und alle anderen Tags befinden sich darunter. Diese Tags werden als Kinderelemente bezeichnet. Diese XML -Datei kann grafisch in Form eines Ordnerbaums dargestellt werden:

Read and Display Server-Side XML with JavaScript Article - Part 1

<company></company> In der obigen XML-Datei enthält das TOP-Tag

4 untergeordnete Elemente.

<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

verwenden, um zu testen, ob ein bestimmtes Knoten -Kinderelement über Kinderelemente verfügt.

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>
Nach dem Login kopieren
Nach dem Login kopieren

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!

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