发布于2026-07-22 阅读(0)
扫一扫,手机访问
通常XML文件都是从外部载入的,但有时候我们想直接用Ja vaScript在内存中生成一个XML对象,该怎么办?下面的代码给出了一种实现方案——只需要传入字符串形式的XML数据,就能得到一个XML对象,并且在Firefox下也能正常工作。
这个方法其实还可以在Firefox中模拟出XML数据岛的效果:用标签装载XML字符串,然后调用createXml函数将其转换成可操作的XML对象。另外,Firefox本身不支持节点的.xml属性,所以需要手动添加这个属性,让它在行为上和IE保持一致。
test
这段代码的核心思路其实很简单:先判断浏览器类型,如果是IE,就用ActiveXObject创建Microsoft.XMLDOM对象并加载字符串;如果是其他浏览器(包括Firefox),则使用DOMParser的parseFromString方法。最后通过__defineGetter__给XMLDocument原型添加一个xml属性,这样就能像IE一样直接通过.xml获取序列化后的XML字符串了。
另外,document.all这个判断条件在IE下为真,在其他浏览器中为假,因此可以很好地完成浏览器分支逻辑。需要注意的是,__defineGetter__在现代浏览器中已被标记为废弃,但为了兼容老版本Firefox,这种写法仍然可用。
上一篇:博客日志摘要暨RSS技术
下一篇:读写xml文件的2个小函数
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8