All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
预载入和javascript,Image()对象_JavaScript技术_编程技术
自己在做项目过程中学到的PHP知识收集_php资料_编程技术
C#程序设计入门经典之C#的基本语法_[Asp.Net教程]
.net控件开发(六)之深究控件样式_[Asp.Net教程]
delphi中间编译单元(.dcu)
asp.net,2.0,权限树的控制_.net资料_编程技术
在ASP.NET里得到网站的域名_[Asp.Net教程]
实用技巧,利用Apache实现禁止图片盗链_php资料_编程技术
网页实例:详细介绍用PHP来编写网页记数器_php资料_编程技术
asp.net,ajax,使用updatepanel进行更新后的提示_.net资料_编程技术
Reading number is top 10 pictures
Startling Russian girl blind date scene2
8090后结婚的各种XX事
抗日又出雷剧情
Athena chu perspective cheongsam shine with New York
奇趣的世界记录2
Get girl by your hand
毛俊杰-能量永动机
Sexy women in 2013--2
Is said to be a Chinese female artist fame explicit pictures before2
Born After 90 Beijing sports university campus flower photos3
Download software ranking
C#高级编程(第4版)
linux初级教程
艳兽都市
功夫熊猫2(上集)
Tram sex maniac 2 (H) rar bag17
终极变速大师Speeder3.26
The hero
传奇私服架设教程-chm
Ashlynn Video1
实战黑客不求人
归海一刀 published in(发表于) 2014/3/20 5:13:22 Edit(编辑)
Xml学习笔记(二)Javascript篇_[XML教程]

Xml学习笔记(二)Javascript篇_[XML教程]

Xml学习笔记(二)Javascript篇_[XML教程]


Preface:本文是W3CSchools上《XML指南》Javascript篇的学习笔记。其中大部分内容是对指南的翻译总结。由于原文的例子更详尽生动,如果各位想阅读原文可以到这个网址http://www.w3schools.com/xml/default.asp。 同时,W3CSchools提供了测试,大家可以测测自己对XML的理解程度。


一、XML解析器(Parser)


所有的现代浏览器都会内建一个XML解析器(Parser)来读取和操作XML。Parser将XML读入内存中将之转换为一个DOM(Documnet Object Model)对象。我们可以使用JavaScript存取到这个对象。(备注,Microsoft的Parser可以加载XML文件和字符串中的XML内容,而其他的一些Browser则分别使用不同的Parser去实现。)所有的Parser都可以遍历XML树,读取、插入、删除节点(elements)和attribute。在谈论XML解析时,我们是用Nodes(节点)来代替Elements(元素)。


一般我们会从两个地方加载XML:XML文件或者包含XML的string(字符串)。

使用MicrosoftParser加载XML文件

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");

使用Parser读取保存在string(字符串)中的XML内容

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);

注意以上是使用同一个对象的不同方法去实现的。其他的Browser则是用不同的对象去实现。

var xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("note.xml");


var parser=new DOMParser();
var doc=parser.parseFromString(txt,"text/xml");

二、XML DOM


DOM(Document Object Model)定义了一种标准的方式去存取和操作XML文件。DOM将XML视作一个树结构。通过DOM可以增加、修改、删除Element,同时可以修改包括Element的Attribute和Element包含的内容(text)。我们将一个Element及其包含的所有东西(Attribute、Text)称作一个Node。

以下是读取的节点的语句:

xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue
和用HTML的DOM读取一个id="to"的语句比较可以看到很多相似之处:

document.getElementById("to").innerHTML
(更多有关的DOM内容,可以参考XML DOM指南)

下面是一个完整的例子。用JavaScript从一个XML文件中读取内容,显示到HTML中。以下代码是跨浏览器的。已经考虑到不同浏览器的问题。









W3Schools Internal Note


T

From:

Message:




然后下面这个例子可以快速浏览甚至略过,和上面代码的区别,紧紧是先把XML存到一个string中,然后再用Parser把XML从string中读出来。









W3Schools Internal Note


T

From:

Message:







三、XML to HTML


指南中给出例子的思路就是一边用XML DOM读取XML的内容,一边不停的用document.write写HTML标记和读取到的XML内容。和上面的例子差不多,就不再转贴代码了。


四、XMLHttpRequestObject


这个东西很厉害啊,大名鼎鼎的Ajax就是从这东西变出来的。

什么是XMLHttpRequestObject?XMLHttpRequestObject是开发人员的梦,因为有了它,你就可以:

  • 为网页增加新数据而无需重新加载页面。
  • 在网页加载后向Server请求数据。
  • 在网页加载后从Server接受数据。
  • 在后台向Server传送数据。
其实以上说的都是一回事,关键三个字“无刷新”。

马上看一个例子:









Using the HttpRequest Object



Status:



Status text:



Response:








以上的代码是在button的onClick中读取一个xml文件的内容然后进行显示。这里要强调的是:这里并不是把隐藏的内容显示出来而是确实从Server的XML读取到数据然后作显示的,而且是无刷新的。可以到这个网址去体现一下http://www.w3schools.com/xml/tryit.asp?filename=tryxml_httprequest_js。
Open的true是表示是否进行异步操作,true表示script继续运行而不必等待Server的应答。了解更多的XMLHttpRequest对象,可以到网上查找一下XMLHttp的CHM文档。 注意XMLHttpRequest对象并不是W3C标准建议的。


五、总结

柔合以上的知识就可以使用JavaSripte灵活的读写XML了。在这里我们用到了多种的的Web技术,包括:

  • HTML和HTML DOM
  • XML和XML DOM
  • JavaScript
  • XMLHttp相关对象
本篇简介了以上的某些技术,而关键的是多种的柔合。Ajax不就是这样出来的么,呵呵。





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.