教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 JavaScript 解析及读取XML文档的实例代码

JavaScript 解析及读取XML文档的实例代码

发布时间:2014-12-02   编辑:jiaochengji.com
本文介绍下,用javascript加载并解析XML文件,并打印相关XML文件内容的方法,有需要的朋友,参考下吧。

JavaScript解析读取XML文件:
加载并解析XML文件,然后,测试解析的XML文件的内容,打印输出来。

本文介绍的内容,编写一个JavaScript的类,以实现读取一个XML文件中的数据。

1、Javascript解析与读取XML文件的代码:
 

复制代码 代码示例:
<mce:script type="text/javascript">
<!--
/** 
* @author Shirdrn 
* @www.jiaochengji.com
*/  
function XMLDoc(){}; // 定义一个XMLDoc类  
  XMLDoc.prototype.xmlFile = ""; // xmlFile为XMLDoc的一个成员,是指“.xml”文件  
  XMLDoc.prototype.parseXMLDoc = function(){ // 加载解析XML文件的成员方法  
  var docParser;  
  if(window.ActiveXObject) { // IE浏览器支持  
     docParser = new ActiveXObject("Microsoft.XMLDOM");  
     docParser.async = "false";  
     docParser.load(this.xmlFile);  
     return docParser;  
}  
else if(window.DOMParser) { // Mozillia浏览器支持  
    docParser = new DOMParser()  
    return docParser.parseFromString(this.xmlFile,"text/xml");  
}
else { // 如果不是IE和Mozillia浏览器则无法解析,返回false。  
    return false;  
}
}
XMLDoc.prototype.print = function(readTagName,readTagCnt) { // 打印输出读取的XML文件的内容信息  
   var xmlDoc = this.parseXMLDoc(); // 调用成员方法parseXMLDoc()加载解析XML文件  
   var users = xmlDoc.getElementsByTagName(readTagName); // 获取指定标签名称的数据的一个数组users  
   for(var i=0 ; i<users.length ; i++) { // 双重循环迭代输出  
      document.write("<B>第" + (i+1) + "条记录信息:</B><BR>");  
         for(var j=0 ; j<readTagCnt ; j++) {  
            var tagname = users[i].childNodes[j].tagName;  
            var textvalue = users[i].childNodes[j].text;  
            document.write(tagname + " = " + textvalue + ".<BR>");  
}
}
}
var xmlDoc = new XMLDoc(); // 创建一个XMLDoc了IDE对象实例  
xmlDoc.xmlFile = "user.xml"; // 设置对象实例的成员变量的数据  
xmlDoc.print("user",6); // 打印输出  
// --></mce:script>

2、XML文件user.xml

复制代码 代码示例:
<?xml version="1.0" encoding="utf-8" ?>
<users>  
<user>  
<id>22240319830000</id>  
<name>Shirdrn</name>  
<age>26</age>  
<gender>男</gender>  
<email>test123@jquerycn.cn</email>  
<phone>13843140000</phone>  
</user>  
<user>  
<id>22040319860001</id>  
<name>Linda</name>  
<age>23</age>  
<gender>女</gender>  
<email>test321@jquerycn.cn</email>  
<phone>13843140002</phone>  
</user>  
</users>  

解析结果如下:

复制代码 代码示例:
第1条记录信息:
id = 22240319830000.
name = Shirdrn.
age = 26.
gender = 男.
email = test123@jquerycn.cn.
phone = 13843140000.
第2条记录信息:
id = 22040319860001.
name = Linda.
age = 23.
gender = 女.
email = test321@jquerycn.cn.
phone = 13843140002.

注意:
解析XML文件时,要确保对不同类型的浏览器提供支持,主要针对IE和Mozillia浏览器,否则可能无法解析。

您可能感兴趣的文章:
JavaScript 解析及读取XML文档的实例代码
php解析XML数据的一段代码
c# 解析XML文件的方法总结
实例学习PHP操作XML的类DOMDocument
php解析XML文档属性并编辑的代码
php操作xml的各种方法解析
jquery解析XML字符串和XML文件的方法说明
jquery解析xml字符串示例分享
Go基础学习记录之如何解析并生成XML
php xml文档解析函数学习实例

[关闭]
~ ~