用js来解析 xml 文件,xml格式的数据很普遍,特别是一些老项目普遍都用xml格式的数据。在ajax里有个responseXML就返回的是xml格式的数据,下面是js如何解析xml文件,获得里面的数据。话不多说,直接上菜。

发送请求获取要解析的xml文件,并创建提取节点方法

getXML(){
      axios({
      methods:"GET",
        url: "xxx",   
      }).then(res=>{
        // 定义一个变量存储 调用从XML中提取节点数据方法 返回的数据
        //getXMLNode()是提取节点数据方法
        let resData=this.getXMLNode({xmlStr:res.data});
        console.log(resData);
      }).catch(error=>{
      console.log(error);

xml支持用getElementsByTagName()方法来获得节点名,第一次获取find的个数,第二次再取每个find里的标签名和值。

DOMParser() 构造函数新建一个 DOMParser 对象实例。此对象可用于使用该方法分析文档的文本。
parseFromString()方法解析包含 HTML或XML 的字符串,返回 HTMLDocument或XMLDocument

getXMLNode(parm){
      let str=parm.xmlStr;
      //创建文档对象
      let xmlDoc = new DOMParser().parseFromString(str, "text/xml");
      let finds=xmlDoc.getElementsByTagName('find');   //获取find节点
      for (let i=0;i<finds.length;i++){     //循环节点
        let finder = finds[i];
        let nods = finder.childNodes;       
        for (let j=0;j<nods.length;j++){    //循环子节点
          let child = nods[j]
          if (child.nodeType == 1){         //判断是否是标签
            console.log(child.nodeName+":"+child.firstChild.nodeValue)  
            // console.log(child.nodeName+child.innerHTML);   
            //两种方法取值
      return finds

 DOMParser 可以将存储在字符串中的 XML 或 HTML 源代码解析为一个 DOM Document。

这是要解析的xml数据:

 解析后log出来的内容:

解释xml文件,要注意先解析为dom树和节点的获取以及子节点的获取。

以上就是js实现读取xml文件内容,如有不明白的地方,可以留言。

此文章主要是方便自己以后遇到类似的查阅以及供有需要的小伙伴参考,

描述如有错误,欢迎指正

参考链接: http://www.cnblogs.com/luoyunfei99/articles/6705895.html完整目录xml 代码&lt;?xml version="1.0" encoding="gb2312"?&gt; &lt;CityList&gt; &lt;City Name="北京"&gt; &lt;Description&gt;京有着三千余年的建城史和八百
JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: export default function (xmlString: string) { const createObj = (xmlString: string) => { console.log(xmlString); let xmlDoc =
今天get了一个新技能,用js解析xml文件xml格式的数据很普遍,在ajax里有个responseXML就返回的是xml格式的数据,下面是js如何解析xml文件,获得里面的数据。一. 创建xmlDocument对象/*声明XML对象*/ var XML = {};XML.createDocument = function(){ /*firefox*/ if (document.
1. 解析XML字符串function XMLResolve(xmlStr) { var parseXML = ""; if(typeof DOMParser == "function") { parseXML = function(xmlStr) { return (new DOMParser()).parseFromString(xmlStr
JSXML解析是基于DOM的,对HTML的DOM熟悉的话,解析XML就没什么困难了。     注意:在Firefox中,解析器不会忽略空格,所以元素间的空格,FF一样会认为是一个节点。     不过在我们用程序拼接XML的时候,一般不会出现节点间有空格的情况。     在根目录下添加一个新的一般处理程序(GetXml.ashx),代码如下: using Sys