1 2 3 4 5 6 7 | <?xml version='1.0' encoding='utf-8'?> <root> <name>张三</name> <age>18</age> <sex>男</sex> <birthday>2020-12-02</birthday> </root> |
代码处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | GetxmlTosData(xmlString){<!-- --> var xmlDoc=null; if(!window.DOMParser && window.ActiveXObject){<!-- --> //window.DOMParser 判断是否是非ie浏览器 var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM']; for(var i=0;i<xmlDomVersions.length;i++){<!-- --> try{<!-- --> xmlDoc = new ActiveXObject(xmlDomVersions[i]); xmlDoc.async = false; xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串 break; }catch(e){<!-- --> } } }else if(window.DOMParser && document.implementation && document.implementation.createDocument){<!-- --> try{<!-- --> /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。 * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法 * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型 * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。 */ domParser = new DOMParser(); xmlDoc = domParser.parseFromString(xmlString, 'text/xml'); }catch(e){<!-- --> } }else{<!-- --> return null; } xmldata = {<!-- -->}; if(xmlDoc != null){<!-- --> var con = xmlDoc.childNodes[0].childElementCount for(var i=0;i<con;i++){<!-- --> xmldata[xmlDoc.childNodes[0].children[i].tagName] = xmlDoc.childNodes[0].children[i].textContent } } return xmldata; } /* 结果为: { name:张三, age:18, sex:男, birthday:2020-12-02 } */ |