js便签笔记(8)——js加载XML字符串或文件
2014-05-05 19:57
399 查看
1. 加载XML文件
方法1:ajax方式。代码如下:var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xhr.open("GET", "data.xml", false); xhr.send(null); var xmlDoc = xhr.responseXML; console.log(xmlDoc);
(关于XMLHttpRequest对象的用法,请参加 http://www.w3school.com.cn/xmldom/dom_http.asp)
注意,代码第二行的“false”,表示不用异步。如果这里改为“true”,那么xmlDoc将得到null。因为js的异步操作,不会等待文件加载完,就直接执行下面的语句了。所以,我们这里必须设置为“false”,表示必须等待文件加载完,再执行以下操作,这样才能得到正确的xmlDoc。
这种方式兼容所有高级浏览器,建议采用这种方式加载。
方法2:IE的方式。代码如下:
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.load("note.xml");
console.log(xmlDoc);
通过IE特有的ActiveXObject("Microsoft.XMLDOM")对象的load()方法加载文件。
注意,这里还是设置了异步是false,原因和方法1的一样。
方法3:Firefox的方式,代码如下:
var xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = "false"; xmlDoc.load("note.xml"); console.log(xmlDoc);
关于跨域加载:安全起见,现代浏览器不能跨域访问,即只能加载本机上的xml文件。
2. 加载XML字符串
先看代码:function LoadXmlText() { //拼接XML字符串 var txt = ''; txt = txt + "<note>"; txt = txt + "<to>George</to>"; txt = txt + "<from>John</from>"; txt = txt + "<heading>Reminder</heading>"; txt = txt + "<body>Don't forget the meeting!</body>"; txt = txt + "</note>"; if (window.DOMParser) { //非IE浏览器 xmlDoc = (new DOMParser()).parseFromString(txt, "text/xml"); } else { //IE浏览器 xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); // 或者:xmlDoc = new ActiveXObject("MSXML2.DOMDocument"); xmlDoc.async = "false"; //不启用异步,保证加载文件成功之前不会进行下面操作 xmlDoc.loadXML(txt); } console.log(xmlDoc); }
如果浏览器支持window.DOMParser对象,则直接用它的parseFromString()方法加载xml字符串。
IE浏览器不支持window.DOMParser,则用loadXML()加载。
代码中注释都写的很亲你清楚。
相关文章推荐
- js加载XML字符串或文件
- spring学习笔记(3)——配置文件applicationContext.xml的加载
- pom.xml文件显示错误 或 sockjs.min.js文件加载错误
- 谷歌验证码非web.xml非servlet拦截 使用配置文件自定义加载,防止多次点击(防js攻击)
- Windows Phone 7 开发探索笔记7——加载XML文件
- JS解析XML文件和XML字符串
- js xml文件加载
- JS解析XML文件和XML字符串
- JS解析XML文件和XML字符串
- JS加载并解析 XML 字符串
- C# 加载xml文档文件及加载xml字符串
- JS操作XML实例总结(加载与解析XML文件、字符串)
- js 加载并解析XML字符串的代码
- 【笔记】Configuration对properties、xml配置文件的【增删改查】及动态加载
- JS解析XML文件和字符串的跨浏览器实现
- Windows Phone 7 开发探索笔记7——加载XML文件
- 从xml文件中加载grid.table or tree js
- pugixml 学习笔记一 加载文件
- C# 加载xml文档文件及加载xml字符串
- js 解析xml文件和xml字符串