IE 中使用 ActiveXObject 的 loadXML 方法解析 XML,其他浏览器可以使用 DOMParser。
function loadXml(text) {
var XMLDoc = null;
if (window.ActiveXObject) {
XMLDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
XMLDoc.async = false;
XMLDoc.validateOnParse = true;
XMLDoc.loadXML(text);
} else {
var parseXml = new DOMParser();
XMLDoc = parseXml.parseFromString(text, "text/xml");
Node.prototype.selectSingleNode = function (node) {
if (this.getElementsByTagName(node).length) {
var child = this.getElementsByTagName(node)[0];
child.text = child.innerHTML;
return child;
}
return null;
};
}
return XMLDoc;
}
var XMLDoc = loadXml("<doc><test>ttt</test></doc>");
var text = XMLDoc.documentElement.selectSingleNode("test").text; // "ttt"