JS中XML的解析

来源:互联网 发布:淘宝佣金推广 接口 编辑:程序博客网 时间:2024/05/20 11:36

1. 解析XML字符串

function XMLResolve(xmlStr) {    var parseXML = "";    if(typeof DOMParser == "function") {        parseXML = function(xmlStr) {            return (new DOMParser()).parseFromString(xmlStr, "text/xml");        }    } else if(typeof window.ActiveXObject != 'undefined' && new      Window.ActiveXObject('Microsoft.XMLDOM')) {        parseXML = function(xmlStr) {            var xmlDOC = new Window.ActiveXObject("Microsoft.XMLDOM");            xmlDOC.async = 'false';            xmlDOC.loadXML(xmlStr);            return xmlDOC;        };    } else {        throw new Error("No XML parser found");    }    return parseXML(xmlStr);}var xml = XMLResolve("<foo>XML文件<child>2333</child></foo>");console.log(xml);console.log(xml.documentElement.childNodes[1].childNodes[0]);

出现的结果:

这里写图片描述

2. 解析XML文件

function XMLFileResolve(xmlFile) {    var xmlDoc=null;    if(window.ActiveXObject) {         xmlDoc = new ActiveXObject("Microsoft.XMLDOM");    } else if(document.implementation && document.implementation.createDocument) {         xmlDoc = document.implementation.createDocument('','',null);    } else {        return null;    }    if(xmlDoc!=null){        xmlDoc.async = false;        xmlDoc.load(xmlFile);    }    return xmlDoc;}var file = XMLFileResolve("foo.xml");console.log(file);

执行结果如下:

这里写图片描述

个人觉得XML其实也是可以看作一个节点树的,从根结点,经过中间的节点,再到叶子节点,而且另一方面来说,XML文件和HTML文件标记语言,只是应用的范围不同而已

0 0
原创粉丝点击