请问在有没有firefox中操作XML的 js代码.

tegger 2006-05-29 01:31:04
请问在有没有firefox中操作XML的 js代码,在firfox中要解析xml太别扭了,跟在ie中真的差得太远了.不知道大家有没这方面的资料或已写有的js代码,能快速的使用 firefox中的xml解析器的.
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianshul8 2006-05-29
  • 打赏
  • 举报
回复
至于 getNodeValue() 方法使用 try{}catch{}
是由于空标签( 标签对中无数据,如:<p /> 或 <p></p> ) 会抛出异常
tianshul8 2006-05-29
  • 打赏
  • 举报
回复
function getNodeValue( aoXml, asTagName , aiIndex ) {
try {
return aoXml.getElementsByTagName(asTagName)[aiIndex].firstChild.nodeValue;
} catch ( e ) {
return "";
}
}

function getNodeLen( aoXml, asTagName ) {
try {
return aoXml.getElementsByTagName( asTagName ).length ;
} catch( e ) {
return 0 ;
}
}

闲耘用以上方法
似乎可以在 IE6.0, firefox1.0, Opera8.0 正确上正确执行
meizz 2006-05-29
  • 打赏
  • 举报
回复
IE 与 FF 取的 childNodes 的集合是不相同的,你自己可以 alert(root.childNodes.length) 看看长度的不同,因为在FF里text也被认为是一个 node,因此我只好用 nodeType 滤掉这些不必要的东西了。
tegger 2006-05-29
  • 打赏
  • 举报
回复
太感谢meizz了, 为什么 要做一次 if(root.childNodes[i].nodeType==1)
我是想做分页,每页的相对位置照这样的话可能是不固定?应该怎么解决.
meizz 2006-05-29
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript">
<!--
function MzXmlDocument()
{
if(document.implementation&&document.implementation.createDocument)
{
var doc=document.implementation.createDocument("","",null);
doc.addEventListener("load",function(e){this.readyState=4;},false);
doc.readyState=4; return doc;
}
else
{
var msxmls=["MSXML2","Microsoft","MSXML","MSXML3"];
for(var i=0;i<msxmls.length;i++)
try{return new ActiveXObject(msxmls[i]+'.DomDocument')}catch(e){}
throw new Error("Could not find an installed XML parser!");
}
}

var x = new MzXmlDocument();
x.async = false;
x.load("test.xml");
var root = x.documentElement;
for(var i=0;i<root.childNodes.length;i++)
{
if(root.childNodes[i].nodeType==1)
{
var file = root.childNodes[i].getAttribute("file");
caption = root.childNodes[i].childNodes[0].nodeValue;
alert(file +"\n"+ caption);
}
}
//-->
</SCRIPT>
tegger 2006-05-29
  • 打赏
  • 举报
回复
感谢楼上的,数据能不能给点例子
如将下列的
<?xml version="1.0" encoding="gb2312"?>
<Ring>
<Data id="1" author="周洁伦" price="2" file="1.wma" >功夫</Data>
<Data id="2" author="周洁伦" price="1.5" file="2.mp3">夜曲</Data>
<Data id="3" author="周洁伦" price="2" file="3.wma">发如雪</Data>
<Data id="4" author="王力宏" price="2" file="4.wma">大城小爱</Data>
<Data id="5" author="林俊杰" price="2" file="5.wma">曹操</Data>
<Data id="6" author="张韶涵" price="2" file="6.wma">香水百合</Data>
<Data id="7" author="张靓颖" price="2" file="7.wma">天下无双</Data>
<Data id="8" author="王力宏" price="2" file="8.wma">花田错</Data>
<Data id="9" author="王心凌" price="2" file="9.wma">睫毛弯弯</Data>
<Data id="10" author="金海心" price="2" file="10.wma">阳光下的星星</Data>

</Ring>
数据如何解析

在ie中用
root = doc.documentElement;
for(var i=0;i<root.childNodes.length;i++)
{
file = root.childNodes[postion].getAttribute("file")
caption = root.childNodes[postion].text
}
FireFox中应该写?
meizz 2006-05-29
  • 打赏
  • 举报
回复
在FF浏览器里使用XMLDOM
var xmldom = document.implementation.createDocument("", "" null);
其余的操作与IE里的XMLDOM类同
javascript开发技术大全 第02章 开始JavaScript 第03章 数据类型 第04章 直接量 第05章 变量、常量与保留字 第06章 表达式与运算符 第07章 语句 第08章 对象简介 第09章 全局对象 第10章 函数 第11章 数组 第12章 对象模型与事件处理 第13章 窗口与框架 第14章 文档操作 第15章 表单操作 第16章 其他对象操作 第17章 Cookie 第18章 文档对象模型 第19章 正则表达式 第20章 Ajax介绍 第21章 Ajax与服务器 第22章 Ajax与XML 第23章 Ajax与CSS 注意:在第21章、22章和23章的代码扩展名为.asp的文件必须要放在微软的IIS服务器上才能正常运行,没有架设IIS服务器的读者可以参考书相应的网址浏览效果。 -----------------------------视频动画--------------------------------------- 在光盘的根目录下,放有几个界面操作的动画演示,演示内容和文件名分别为: 演示内容:开启浏览器对JavaScript的支持 01开启IE浏览器对JavaScript的支持.EXE 02开启IE浏览器对本地文件的JavaScript的支持.EXE 03开启firefox浏览器对JavaScript的支持.EXE 04开启Opera浏览器对JavaScript的支持.EXE 05开启Netscape浏览器对JavaScript的支持.EXE 演示内容:JavaScript的作用 06JavaScript的作用.EXE 演示内容:在浏览器查看网页源代码 07在IE浏览器查看网页源代码.EXE 08在Firefox浏览器查看网页源代码.EXE 09在Opera浏览器查看网页源代码.EXE 10在Netscape浏览器查看网页源代码.EXE 演示内容:在浏览器查看JavaScript的错误信息 11在浏览器查看JavaScript的错误信息.EXE 演示内容:JavaScript的常用事件 12鼠标移动事件.EXE 13鼠标点击事件.EXE 14键盘事件.EXE 15加载与卸载事件.EXE 16得到焦点与失去焦点事件.EXE 17提交事件与重置事件.EXE 18选择事件与改变事件.EXE

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧