Heim >Web-Frontend >js-Tutorial >Natives Javascript implementiert das Parsen von XML-Dokumenten und Strings_Javascript-Fähigkeiten
Ich habe zuvor einen Artikel „So verwenden Sie jquery zum Parsen von XML“ geschrieben. Der Link lautet http://www.jb51.net/article/54842.htm Im Detail Die Methode der gegenseitigen Konvertierung konzentriert sich hier auf die Funktionsweise von Javascript-XML.
Der Gesamtcode lautet wie folgt:
var XMLHttp = null; if (window.XMLHttpRequest) { //现代浏览器 XMLHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6 } if (XMLHttp !== null) { XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState === 4) { if (XMLHttp.status === 200 || XMLHttp.status === 304) { // var XMLDom = XMLHttp.responseXML; //解析XML文档 var XMLDoc = XMLHttp.responseText; //解析XML字符串 var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml"); //异步代码写这里 console.log(XMLDom); console.log("world"); //后出现world } } }; XMLHttp.open("get", "test1.xml", true); XMLHttp.send(); //非异步代码写这里 console.log("hello"); //先出现hello }
Der erste Schritt besteht darin, XMLHTTPREQUEST zu erstellen:
var XMLHttp = null; if (window.XMLHttpRequest) { //现代浏览器 XMLHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6 }
Der zweite Schritt besteht darin, ONREADYSTATECHANGE zu erkennen (nicht erforderlich für nicht asynchron):
if (XMLHttp !== null) { XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState === 4) { if (XMLHttp.status === 200 || XMLHttp.status === 304) { //异步代码写这里 } } }; XMLHttp.open("get", "test1.xml", true); XMLHttp.send(); //非异步代码写这里 }
Der dritte Schritt: Analysieren eines XML-Dokuments oder einer XML-Zeichenfolge (asynchron):
XMLHttp.onreadystatechange = function() { if (XMLHttp.readyState === 4) { if (XMLHttp.status === 200 || XMLHttp.status === 304) { // var XMLDom = XMLHttp.responseXML; //解析XML文档 var XMLDoc = XMLHttp.responseText; //解析XML字符串 var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml"); //异步代码写这里 console.log(XMLDom); } } };
Der vierte Schritt: Analysieren eines XML-Dokuments oder einer XML-Zeichenfolge (nicht asynchron):
if (XMLHttp !== null) { // XMLHttp.onreadystatechange = function() { // if (XMLHttp.readyState === 4) { // if (XMLHttp.status === 200 || XMLHttp.status === 304) {} // } // }; XMLHttp.open("get", "test1.xml", false); XMLHttp.send(); //非异步代码写这里 // var XMLDom = XMLHttp.responseXML; //解析XML文档 var XMLDoc = XMLHttp.responseText; //解析XML字符串 var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml"); //异步代码写这里 console.log(XMLDom); }