开发者社区


Web服务 | ASP/ASP.Net | JSP | PHP/Perl | 网站设计
首页 - WEB技术
Web技术
全文搜索:   

使用XMLHttpRequest处理XML
作者: Tony Patton
2006-04-25 17:09:45



XML DOM

W3C已经指定了一个XML的标准文档对象模型。DOM是用于HTML和XML文档的程序开发接口,它能够让开发者访问和操作一个文档。开发者可以使用DOM建立和浏览文档。我们已经在前面的例子中使用到getElementsByTagName和firstChild,然而还有很多可利用的方法和属性,如下表所示:

  • Basename:返回一个节点的名称。
  • childNodes:返回包含选择节点的所有子节点的列表。
  • lastChild:返回当前节点的最后子节点。
  • nextSibling:返回当前节点之后的一个节点。如果二者是同一父母,则它们为同胞关系。
  • parentNode:返回一个节点的父母节点。如果是根节点,则返回Null。
  • text:返回一个节点及其子节点的文本内容。
  • xml:返回一个节点及其子节点的XML内容。
  • hasChildNodes:对一个节点是否包含子节点,返回相应的true或false。
  • nextNode:返回一个集合的下一节点。
  • previousNode:返回一个集合的前一节点。
  • selectNodes:返回与特定模式匹配的包含所有节点的一个NodeList对象。
  • selectSingleNode:返回与特定模式匹配的第一个子节点的节点对象。

例如,在第一例子中,我们使用selectSingleNode方法返回数据。Listing B中的Web页使用到了这方法。

Listing B

<html><head><title>TechRepublic.com Example</title>

<script type="text/javascript" language="JavaScript">

var obj;

function getData() {

document.body.style.cursor='wait';

if (window.XMLHttpRequest) {

obj = new XMLHttpRequest();

} else if (window.ActiveXObject) {

obj = new ActiveXObject("Microsoft.XMLHTTP");

}

var goUrl = "http://localhost/companies.xml";

obj.onreadystatechange = xmlReady;

obj.open("GET",goUrl, false );

obj.send();

document.body.style.cursor='auto';

}

function xmlReady() {

if (obj.readyState == 4) {

if (obj.status == 200) {

var xmldoc = obj.responseXML;

var node1 = xmldoc.selectSingleNode('response/telephone');

var node2 = xmldoc.selectSingleNode('response/companyname');

document.forms[0].telephone.value = node1.firstChild.data;

document.forms[0].cname.value = node2.firstChild.data;

} }

</script></head><body>

<form id="frmTest">

Company:牋 <input type="text" name="cname" /><br />

Telephone: <input type="text" name="telephone" /><br />

<input type="button" value="Click" onclick="getData();" />

</form></body></html>

XML DOM使得XML数据处理变得很简单。你可以很容易地使用for循环,以及XML DOM方法和属性快速浏览一个XML文档的元素。

在网络中,有很多可利用的数据源提供给XML格式的数据,比如Amazon和Google。你可以使用XMLHttpRequest对象在一个Web页或程序中集成这些服务。

浏览器中的XML

虽然XMLHttpRequest对象是AJAX开发的关键,但它也可将XML导入到浏览器。通过使用不同的方法和属性,这一对象可以很容易地操作包含在XML文档中的数据。在以后的操作中,你可以使用XSL表单方式来显示数据。

本文作者Tony Patton的职业生涯始于应用程序开发员,并已经获得了Java、VB、Lotus和XML的认证,知识面非常宽广。

责任编辑:张琎

查看本文的国际来源

 

 

【上一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号