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.