解析XML文件(一)

目前大多浏览器都内置了用于读取和操作XML的解析器,使用XML解析器可以将XML文档读取到内存中,并可以将其转换成javaScript中的对象。

 

[IE浏览器中解析XML文件]

 

1.创建一个XMLDOM对象,可以用来加载XML文件

 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 

2.加载方式如下,浏览器将xml文件的内容读取到内存中

 xmlDoc.load("student.xml");

 

**如果XML文件中的内容比较大时,可以在加载[load()]之前设置加载xml文件的方式:

   xmlDoc.async = false;

  async属性值为false,则使用同步方式加载xml文件,即在该文件加载完毕之前,javaScript是不会进行其它操作的;如果为  true,则将会使用异步的方式加载xml文件,若xml文件比较大,则可能会出现在该文件还未加载完毕,javaScript就会执行到读取xml内容的代码的情况

 

********总结*******

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async = false;

xmlDoc.load("student.xml");

document.write("返回根元素名称:"+xmlDoc.documentElement.nodeName);

 

[其它浏览器中解析XML文件]

var xmlDoc = document.implementation.createDocument("","",null);

**implementation属性可以返回与当前文档相关联的DOMImplementation接口,它是一个特殊的用于提供服务的接口,可以控制操作文档.DOMImplementation接口中的方法有:hasFeature()、createDocumentType()、createDocument().其中,createDocument()可以创建一个指定类型的xml文档对象。

 

语法: createDocument(qualifiedName,publicId,systemId)

qualifiedName-->用于创建文档元素的命名空间url

publicId-->要创建的文档元素的限定名称

systemId-->要创建的文档类型,可以为null

 

 

*********总结********

var xmlDoc = document.implementation.createDocument("","",null);

xmlDoc.async = false;

 xmlDoc.load("student.xml");

 document.write("返回根元素名称:"+xmlDoc.documentElement.nodeName);

 

 [跨浏览器解析XML文件的方法]

 var xmlDoc = null;

 if(window.ActiveXObject){

        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

  }else{

      try{

         xmlDoc = document.implementation.createDocument("","",null);

      }catch(e){} } //判断是否已经调用了XML解析器 if(xmlDoc != null){ xmlDoc.async = false; xmlDoc.load("student.xml"); ...... }

else{ alert("您的浏览器不支持XML解析器!"); }

你可能感兴趣的:(JavaScript,xml,浏览器,Microsoft,IE)