js操作xml (进行筛选失败) 本帖最后由 lba8610 于 2011-08-18 18:05:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是数组下标不连续引起的。xmlArray[i]=v;改为:xmlArray.push(v); <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title> 无标题文档</title></head><body><script type="text/javascript">//var xmlAdder="http://www.51db.com.cn/gamesxml.xml";var xmlAdder="http://www.51db.com.cn/gamesxml.xml"; //在FF下解析远程xml文件好像要用ajax吧function getXmlDocument(xmlFile){ var xmlDoc; if(window.ActiveXObject){ xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); }else if(document.implementation && document.implementation.createDocument){ xmlDoc=document.implementation.createDocument("","",null); } xmlDoc.async=false; xmlDoc.load(xmlFile); //loadXML() 方法用于加载字符串(文本),load() 用于加载文件 return xmlDoc;}// 首先对xml对象进行判断function checkXMLDocObj(xmlFile){ var xmlDoc = getXmlDocument(xmlFile); if(xmlDoc==null){alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');} return xmlDoc;}function showXmlData(){ var xmlDoc= checkXMLDocObj(xmlAdder); //FF下不支持etElementsByTagName("a/b")的方式,具体原因期待高手解答 var xml_Server_Name=xmlDoc.getElementsByTagName("GameAreaInfo"); var xmlArray=new Array(); for(var i=0;i<xml_Server_Name.length;i++){ //IE下第二个节点取法是childNodes[1]没错,但是FF不同,FF会把xml文件中的回车符也当做是节 //点,nodeName为#text,所以在FF下取第二个子节点应该是childNodes[3] var secondeNode = !-[1,]?1:3; //FF不支持节点用text属性获取其子节点的text内容,所以最好改成firstChild.nodeValue var v = xml_Server_Name[i].childNodes[secondeNode].firstChild.nodeValue; if(v == 6){ document.write(v); document.write("<br />"); //xmlArray[xmlArray.length] = v; //这个是最原始的方法为数组添加项,可以兼容IE5 xmlArray.push(v); //push方法在IE5中不被支持 } } //return xmlArray; return alert(xmlArray);}showXmlData();</script><ul id="xmldata"></ul></body></html>我是新手,这些仅供楼主参考,至于FF下load方式解析xml路径不能是远程http://....xml类型的原因我也不清楚 ,请大虾们解答,以上方法可兼容IE和FF,楼主可以试试,只要把xml存到本地或服务器的文件夹中即可 jquery ui draggable problem in iframe js输出一个iframe然后直接跳转的非想要现象 JS生成表单问题并持有form对象与在document中表单对象不符 急 在线等待!js问题 高手请进! 这种 return 写法正确吗? 请求大神帮助。。怎么把整个动态table的数据提交到后台 客户端javascript判断怎么老是返回true 父窗口(框架)弹出子窗口(框架),子窗口如何向父子窗口传值 一个提取网页部分内容的一个特殊要求(可能有点难度哈),在线等! 如何判断IE的版本?能行就给分 关于导航栏防刷新的,高手请进…… jquery 循环取值问题
xmlArray[i]=v;
改为:
xmlArray.push(v);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 无标题文档</title>
</head>
<body>
<script type="text/javascript">
//var xmlAdder="http://www.51db.com.cn/gamesxml.xml";
var xmlAdder="http://www.51db.com.cn/gamesxml.xml"; //在FF下解析远程xml文件好像要用ajax吧
function getXmlDocument(xmlFile){
var xmlDoc;
if(window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}else if(document.implementation && document.implementation.createDocument){
xmlDoc=document.implementation.createDocument("","",null);
}
xmlDoc.async=false;
xmlDoc.load(xmlFile); //loadXML() 方法用于加载字符串(文本),load() 用于加载文件
return xmlDoc;
}
// 首先对xml对象进行判断
function checkXMLDocObj(xmlFile)
{
var xmlDoc = getXmlDocument(xmlFile);
if(xmlDoc==null){alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');}
return xmlDoc;
}
function showXmlData(){
var xmlDoc= checkXMLDocObj(xmlAdder);
//FF下不支持etElementsByTagName("a/b")的方式,具体原因期待高手解答
var xml_Server_Name=xmlDoc.getElementsByTagName("GameAreaInfo");
var xmlArray=new Array();
for(var i=0;i<xml_Server_Name.length;i++){
//IE下第二个节点取法是childNodes[1]没错,但是FF不同,FF会把xml文件中的回车符也当做是节
//点,nodeName为#text,所以在FF下取第二个子节点应该是childNodes[3]
var secondeNode = !-[1,]?1:3;
//FF不支持节点用text属性获取其子节点的text内容,所以最好改成firstChild.nodeValue
var v = xml_Server_Name[i].childNodes[secondeNode].firstChild.nodeValue;
if(v == 6){
document.write(v);
document.write("<br />");
//xmlArray[xmlArray.length] = v; //这个是最原始的方法为数组添加项,可以兼容IE5
xmlArray.push(v); //push方法在IE5中不被支持
}
}
//return xmlArray;
return alert(xmlArray);
}
showXmlData();
</script>
<ul id="xmldata"></ul>
</body>
</html>
我是新手,这些仅供楼主参考,至于FF下load方式解析xml路径不能是远程http://....xml类型的原因我也不清楚 ,请大虾们解答,以上方法可兼容IE和FF,楼主可以试试,只要把xml存到本地或服务器的文件夹中即可