Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript 解析读取XML文档 实例代码_javascript技巧

WBOY
Freigeben: 2016-05-16 18:50:24
Original
1094 Leute haben es durchsucht

JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来。
在线演示:http://demo.jb51.net/js/2012/readxml/
注:测试的时候需要在网站中测试,iis或apache中,注意不要本地双击运行测试
index.htm

复制代码 代码如下:



脚本之家







xml文件
复制代码 代码如下:





后台首页
测试页




后台首页
测试页




没有用TABLE ,是因为显示倒了,所以设置了一个变量,然后显示!值得今后借签!

下面是另外一个例子:
编写了一个JavaScript的类来实现读取一个XML文件中的数据,实现代码如下所示:
复制代码 代码如下:

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

其中,我们测试使用的XML文件user.xml的内容如下所示:
复制代码 代码如下:


-
-
22240319830000
Shirdrn
26

shirdrn@hotmail.com
13843140000

-
22040319860001
Linda
23

linda@hotmail.com
13843140002



运行测试程序,解析结果输出如下所示:
复制代码 代码如下:

第1条记录信息:
id = 22240319830000.
name = Shirdrn.
age = 26.
gender = 男.
email = shirdrn@hotmail.com.
phone = 13843140000.
第2条记录信息:
id = 22040319860001.
name = Linda.
age = 23.
gender = 女.
email = linda@hotmail.com.
phone = 13843140002.

在解析XML文件的时候,要保证对不同类型的浏览器提供支持,这里主要对IE和Mozillia浏览器,否则可能无法解析。
关于其它的说明,可以参看程序中的注释。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage