Heim  >  Artikel  >  Web-Frontend  >  So lesen Sie XML-Dateien mit JS

So lesen Sie XML-Dateien mit JS

高洛峰
高洛峰Original
2016-12-05 11:45:341050Durchsuche

Da das Projekt XML analysieren muss, verschiedene Baidu-Methoden und dann die Methoden zum Parsen von XML in verschiedenen Mainstream-Browsern, kann ich die Verwendung nur sehr oberflächlich kennen, es gibt jedoch keine eingehende Untersuchung.

Verschiedene Browser analysieren XML auf unterschiedliche Weise. Den aktuellen Mainstream-Browsern zufolge werden sie grob in drei Kategorien unterteilt:

Die erste Kategorie, der Vorfahre von IE: js, bietet Methoden zum Erstellen von Automatisierung Objekte. new ActiveXObject("Microsoft.XMLDOM");

Die zweite Kategorie: Firefox, Opera: Verwenden Sie den Konstruktor DOMParser(), um das DOMParser-Objekt zu instanziieren, den XML-Text zu analysieren und das XML-Dokumentobjekt zurückzugeben;

Die dritte Kategorie: Chrome, Safari: Da Chrome die Lademethode nicht unterstützt, werden das http-Protokoll und das XMLHttpRequest-Objekt verwendet.

Code:

function loadXML(){
var xmlDoc;
try{ //IE
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}catch(e){ //firefox,opera
xmlDoc = document.implementation.createDocument("","",null);
}
try{
xmlDoc.asyc = false; //是否异步调用
xmlDoc.load("xxx.xml"); //文件路径
}catch(e){ //chrome
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET","xxx.xml",false); //创建一个新的http请求,并指定此请求的方法、URL以及验证信息
xmlDoc = xmlhttp.responseXML;
}
return xmlDoc;
}

Das zurückgegebene xmlDoc-Objekt, in dem das Attribut documentElement verschiedene Werte des XML-Knotens enthält, können Sie trösten und langsam finden.

ps: Wenn Sie lokales XML lesen, verbietet Chrome standardmäßig den Zugriff auf lokale Dateien und Sie müssen den Startparameter --allow-file-access-from-files hinzufügen.


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