上一个文章写了IE操作XML,这次继续火狐下javascript操作XML,火狐提供的XMLDom比IE更加标准,火狐下操作XMLDom实际上就是它的javascript实现,火狐实现了Dom level2,而微软的IE仅支持DOm level1.
1创建Dom,Dom标准指出,document.implementation对象有createDocument()方法.
var forasp_cnxmlDom = document.mplementation.createDocument("","",null);
该方法的三个参数分别表示:文档命名空间的URL,文档元素标签名 ,和一个文档类型对象(总是null,因为火狐灭幼对文档类型对象的支持)
举例
var forasp_cnxmlDom = document.mplementation.createDocument("http://www.ynpxrz.com","root",null);
这就常见了一个<a0 root xmlns:a0="http://www.ynpxrz.com">的xml Dom.
a0表示命名空间
2.载入xml,与微软IE载入没有loadXML()方法,只有load()方法.load()方法与IE的load()方法相同.
如果同步载入xml
forasp_cnxmlDom.async = false;
forasp_cnxmlDom.load("http://www.ynpxrz.com/rss.xml");
如果以不再如则必须使用onload事件处理函数来判断是否已经载入.
forasp_cnxmlDom.onload = function(){alert("已经载入");}
forasp_cnxmlDom.load("http://www.ynpxrz.com/rss.xml");
3获取XML,火狐提供了XMLSerializer对象.
var xmlobj = new XMLSerializer();
var xmlcontent = xmlobj.serializeToString(forasp_cnxmlDom,"text/xml");
XMLSerializer的唯一一个方法serializeToString(),参数是:序列化的节点和内容类型(text/xml或者application/xml).为forasp_cnxmlDom创建了XML代码
(这里不是很理解,待研究.)
4.解析错误
在xml文件解析过程中发生错误,xmlDOM会自动创建文档来解释这个错误.
在此不多做研究.
更多信息请查看IT技术专栏