首页 > Web开发 > 详细

JS 解析Xml

时间:2016-01-29 12:08:26      阅读:286      评论:0      收藏:0      [点我收藏+]
 1 loadXML = function (xmlString) {
 2     var xmlDoc = null;
 3     //判断浏览器的类型
 4     //支持IE浏览器
 5     if (!window.DOMParser && window.ActiveXObject) {   //window.DOMParser 判断是否是非ie浏览器
 6         var xmlDomVersions = [‘MSXML.2.DOMDocument.6.0‘, ‘MSXML.2.DOMDocument.3.0‘, ‘Microsoft.XMLDOM‘];
 7         for (var i = 0; i < xmlDomVersions.length; i++) {
 8             try {
 9                 xmlDoc = new ActiveXObject(xmlDomVersions[i]);
10                 xmlDoc.async = false;
11                 xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串
12                 break;
13             } catch (e) {
14             }
15         }
16     }
17         //支持Mozilla浏览器
18     else if (window.DOMParser && document.implementation && document.implementation.createDocument) {
19         try {
20             /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
21             * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
22             * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型
23             * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。
24             */
25             domParser = new DOMParser();
26             xmlDoc = domParser.parseFromString(xmlString, ‘text/xml‘);
27         } catch (e) {
28         }
29     }
30     else {
31         return null;
32     }
33 
34     return xmlDoc;
35 }

 

调用方式:

 1 var strDataXml = loadXML(sRtn);
 2 
 3 var rooms = strDataXml.getElementsByTagName("Room");
 4 for (i = 0; i < rooms.length; i++) {
 5     var arrRoom = new Array
 6     arrRoom[0] = rooms[i].getElementsByTagName("RoomGUID")[0].text;
 7     arrRoom[1] = rooms[i].getElementsByTagName("RoomInfo")[0].text;
 8     arrRoom[2] = rooms[i].getElementsByTagName("CstName")[0].text;
 9     arrRoom[3] = rooms[i].getElementsByTagName("BldArea")[0].text;
10     arrRoom[4] = rooms[i].getElementsByTagName("TnArea")[0].text;
11     arrRoom[5] = rooms[i].getElementsByTagName("AreaStatus")[0].text;
12     arrRoom[6] = rooms[i].getElementsByTagName("BldCjPrice")[0].text;
13     arrRoom[7] = rooms[i].getElementsByTagName("TnCjPrice")[0].text;
14     arrRoom[8] = rooms[i].getElementsByTagName("RmbHtTotal")[0].text;
15     arrRoom[9] = rooms[i].getElementsByTagName("QSDate")[0].text;
16     arrRoom[10] = rooms[i].getElementsByTagName("alterType")[0].text;
17     arrRoom[11] = rooms[i].getElementsByTagName("alterDate")[0].text;
18 
19     arrRoom[12] = rooms[i].getElementsByTagName("TradeGUID")[0].text;
20     arrRoom[13] = rooms[i].getElementsByTagName("ContractGUID")[0].text;
21 
22     AddRoomToList(arrRoom)
23 }

 

JS 解析Xml

原文:http://www.cnblogs.com/m-liuy/p/AnalyzeXml.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!