解析 XML - 跨浏览器实现

来源:互联网 发布:交易平台php源码 编辑:程序博客网 时间:2024/06/06 10:44

大多数浏览器都内建了供读取和操作 XML 的 XML 解析器。

解析器把 XML 转换为 JavaScript 可存取的对象。

但是IE和其它浏览器是有很大区别的

解析 XML 文件 - 跨浏览器实现

  1. <html>  
  2. <body>  
  3. <mce:script type="text/javascript"><!--  
  4. try //针对IE和基于IE内核的浏览器  
  5.   {  
  6.   xmlDoc=new ActiveXObject("Microsoft.XMLDOM");  
  7.   }  
  8. catch(e)  
  9.   {  
  10.   try //针对Firefox, Opera等其它浏览器.  
  11.     {  
  12.     xmlDoc=document.implementation.createDocument("","",null);  
  13.     }  
  14.   catch(e) {alert(e.message)}  
  15.   }  
  16. try   
  17.   {  
  18.   xmlDoc.async=false;  
  19.   xmlDoc.load("books.xml");  
  20.   }  
  21. catch(e) {alert(e.message)}  
  22. // --></mce:script>  
  23. </body>  
  24. </html>  

解析 XML 字符串 - 跨浏览器实现

  1. <html>  
  2. <body>  
  3. <mce:script type="text/javascript"><!--  
  4. text="<bookstore>"  
  5. text=text+"<book>";  
  6. text=text+"<title>Title</title>";  
  7. text=text+"<author>Author</author>";  
  8. text=text+"<year>2010</year>";  
  9. text=text+"</book>";  
  10. text=text+"</bookstore>";  
  11. try //针对IE和基于IE内核的浏览器  
  12.   {  
  13.   xmlDoc=new ActiveXObject("Microsoft.XMLDOM");  
  14.   xmlDoc.async="false";  
  15.   xmlDoc.loadXML(text);  
  16.   }  
  17. catch(e)  
  18.   {  
  19.   try //针对FireFox,Opera等其它浏览器  
  20.     {  
  21.     parser=new DOMParser();  
  22.     xmlDoc=parser.parseFromString(text,"text/xml");  
  23.     }  
  24.   catch(e) {alert(e.message)}  
  25.   }  
  26. // --></mce:script>  
  27. </body>  
  28. </html>  

 

注意Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。
0 0