JS 解析Xml
loadXML = function (xmlString) {
var xmlDoc = null;
//判断浏览器的类型
//支持IE浏览器
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) {
}
}
}
//支持Mozilla浏览器
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;
}
return xmlDoc;
}
调用方式:
var strDataXml = loadXML(sRtn);
var rooms = strDataXml.getElementsByTagName("Room");
for (i = 0; i < rooms.length; i++) {
var arrRoom = new Array
arrRoom[0] = rooms[i].getElementsByTagName("RoomGUID")[0].text;
arrRoom[1] = rooms[i].getElementsByTagName("RoomInfo")[0].text;
arrRoom[2] = rooms[i].getElementsByTagName("CstName")[0].text;
arrRoom[3] = rooms[i].getElementsByTagName("BldArea")[0].text;
arrRoom[4] = rooms[i].getElementsByTagName("TnArea")[0].text;
arrRoom[5] = rooms[i].getElementsByTagName("AreaStatus")[0].text;
arrRoom[6] = rooms[i].getElementsByTagName("BldCjPrice")[0].text;
arrRoom[7] = rooms[i].getElementsByTagName("TnCjPrice")[0].text;
arrRoom[8] = rooms[i].getElementsByTagName("RmbHtTotal")[0].text;
arrRoom[9] = rooms[i].getElementsByTagName("QSDate")[0].text;
arrRoom[10] = rooms[i].getElementsByTagName("alterType")[0].text;
arrRoom[11] = rooms[i].getElementsByTagName("alterDate")[0].text;
arrRoom[12] = rooms[i].getElementsByTagName("TradeGUID")[0].text;
arrRoom[13] = rooms[i].getElementsByTagName("ContractGUID")[0].text;
AddRoomToList(arrRoom)
}
JS 解析Xml的更多相关文章
- CSS控制XML与通过js解析xml然后通过html显示xml中的数据
使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...
- JS解析XML文件和XML字符串
JS解析XML文件 <script type='text/javascript'> loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览 ...
- js解析xml,获取XMl标签属性值
<script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...
- js 解析XML 在Edge浏览器下面 无法准确读到节点属性值
js 解析XML 在Edge浏览器下面 无法准确读到节点属性值 Dom.documentElement.childNodes[j].attributes[2] 这个是大众写法 在win10的edge ...
- node.js 解析xml BOM问题(xmlreader sax.js)
Email:longsu2010 at yeah dot net 之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下 node.js解析xml(xmlreader) no ...
- 用js解析XML文件,字符串一些心得
解析XML文件遇到的问题 今天秦博士叫我解析一下XML文件,将里面的所有的X坐标Y坐标放在一个数组里面然后写在文档里让他进行算法比对,大家都知道了啦,解析XML文件获取里面的坐标数据什么的,当然是用前 ...
- js解析xml浏览器兼容性处理
/****************************************************************************** 说明:xml解析类 ********** ...
- js解析XML
//在当前页面内追加换行标签和指定的HTML内容function w( html ){ $(document.body).append("<br/>" + htm ...
- JS解析xml字符串,并把xml展示在HTML页面上
首先,要写一个方法,把xml字符串转化成dom对象 //将字符串转化成dom对象;string转换为xml function stringToXml(xmlString) { var xmlDoc; ...
随机推荐
- POJ 2318 TOYS (计算几何,叉积判断)
TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8661 Accepted: 4114 Description ...
- js实现异步循环
@(编程) 问题 实现异步循环时,你可能会遇到问题. 让我们试着写一个异步方法,每秒打印一次循环的索引值. for(var i = 0; i < 5; i++) { setTimeout(fun ...
- sql的join用法
SQL join 用于把来自两个或多个表的行结合起来,sql join主要包括inner join. left join .right join .full outer join. 先介绍一下表里面的 ...
- ubuntu 64位系统下加速Android模拟器
安装KVM: sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils 在Postfix Configurati ...
- oracle出现的小问题
oracle无法解析指定的标识符:检查oracle的数据库实例名是否正确. oracle增大db_files:alter system set db_files=1000 scope=spfile;之 ...
- HDU 1520Anniversary party(树型DP)
HDU 1520 Anniversary party 题目是说有N个人参加party,每个人有一个rating值(可以理解为权值)和一个up(上司的编号),为了保证party的趣味性,每一个人不可 ...
- sql server中的decimal或者numeric的精度问题
何谓精度:最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数.该精度必须是从 1 到最大精度 38 之间的值.默认精度为 18. 小数位数:小数点右边可以存储的十进制数字的最大位数.小数位数 ...
- Spring JTA应用JOTM & Atomikos I Application
关于Spring JTA的介绍非常多了,这里就不再一再阐述其优越性怎么怎么了,直接开始正题.一个大致的需求如下,用户在进行增删改操作时,会同时更新2至3个数据库的数据表,操作需要事务来包裹,以便在操作 ...
- 待整理 - BAT文件编写
BAT文件语法和技巧(bat文件的编写及使用) http://www.jb51.net/article/5828.htm
- Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
首先注意空(null)值,空值加任何值都是空值,空值乘任何值也都是空值,依此类推. 1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么显 ...