JS在IE和Firefox下如何解析XML
来源:互联网 发布:多益网络招聘要求 编辑:程序博客网 时间:2024/05/16 06:52
我的XML的数据是通过geoserver查询返回的,在IE下面和Firefox下面JS解析XMl的方式是不同的,网上的资料不少,但是好多都介绍的不是很详细,下面是我在项目中用到的:(直接贴代码了@)
function get_xml_node(xml,xmlFile)//xml是一个XML的对象,xmlfile是一个xml的字符串
{
var node=new Array();
//IE下解析XML对象
if(window.ActiveXObject)
{
var xmlDoc;
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xml);
if(xmlDoc!=null)
{
if(xmlDoc.documentElement.childNodes.length>1)
{
for(var l=0;l<xmlDoc.documentElement.childNodes(1).childNodes[0].childNodes.length;l++){
var nodestr= xmlDoc.documentElement.childNodes(1).childNodes[0].childNodes[l].nodeName;//网上很多都是通过tagname来获取nodevalue的,我的xml是变化的
if(nodestr!=null)
{
var nodename=nodestr.substring(5);//根据结果进行截取所需字符串
node.push(nodename);
}
}
}
else
{
alert("所选区域没有该类型的物体!");
}
}
}
//Firefox或其他浏览器解析xml的string字符串
else if (document.implementation && document.implementation.createDocument)
{
var fxmlDoc;
fxmlDoc = document.implementation.createDocument('', '', null);//创建一个空的其他浏览器厂商的xmlDoc对象(FF,Opera)
fxmlDoc.async = false;
//Firefox下没有load方法,所以加载XML方法是:将string用DOM方法实现
domParser = new DOMParser();
fxmlDoc = domParser.parseFromString(xmlFile, 'text/xml');
if(fxmlDoc!=null)
{
if(fxmlDoc.documentElement.childNodes.length>1)
{
if(fxmlDoc.documentElement.childNodes[1].hasChildNodes())
{
for(var l=0;l<fxmlDoc.documentElement.childNodes[1].childNodes[0].childNodes.length;l++){
var nodestr= fxmlDoc.documentElement.childNodes[1].childNodes[0].childNodes[l].nodeName;//获取XML下一个完整节点,即:图层属性字段
if(nodestr!=null)
{
var nodename=nodestr.substring(5);//根据结果进行截取所需字符串
node.push(nodename);
}
}
}
}
else
{
alert("所选区域没有该类型的物体!");
}
}
}
else
{
return null;
}
return node;
}
//自己留着以备后用
- JS在IE和Firefox下如何解析XML
- js在IE和Firefox下不同之处
- js在IE和Firefox下不同之处
- 关于IE和Firefox下的兼容问题--解析xml
- IE和FIREFOX在解析JS方面的区别
- IE和FIREFOX在解析JS方面的区别
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- 解决JS在firefox和IE下差异问题
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- JS在firefox和IE下差异及解决方案
- css总结
- 《基于ARM的外围电路设计与实现》教学大纲- docin.com豆丁网
- [C/C++] 常见错误汇总(1)
- Oracle监听程序Troubleshooting Details
- Sqlldr 各种情况实战及说明
- JS在IE和Firefox下如何解析XML
- 如何杀掉greenplum、postgresql的会话进程
- Jquery+CSS完美实现二级下拉菜单(兼容所有浏览器)
- 解决:DB2com.ibm.db2.jcc.b.DisconnectException: encoding not supported!!
- ASP.NET MVC3中的ViewBag动态性
- 达到processes参数限制的故障分析
- Mysql 优化说明一
- Android基本框架学习之defaultServiceManager
- use '@foo' to launch a virtual device named 'foo'.please use -help for more information