您的位置:首页 > Web前端 > JavaScript

JS中涉及到xml格式的数据解析方法

2013-07-24 17:40 295 查看
如果后台传递到前台的数据有xml格式的话 怎样解析呢

方法如下

//========================================解析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;

}

然后就可以使用上面的方法对xml格式的数据进行解析了

譬如options是从后台传递过来的Json对象中取出的 带xml格式的字符串

首先

options=data['options'];





//这是将xml格式的字符串转为dom文档对象

var str=loadXML(options);



var ops = str.getElementsByTagName("o"); //ops为str以o为标签 解析出的数组





for(var i=0;i<ops.length;i++){



var op=ops[i].firstChild.nodeValue; //此时 op即xml格式的ops中的一项

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: