XMLHttpRequest对象提供的不仅仅是后台数据处理,它能够通过XML DOM提供处理XML的所有支持。通过XMLHttpRequest对象可以充分地处理XML。
上一周我见到一个例子,这一简单的例子演示了通过XMLHttpRequest object的一个基础元素,提供动态用户界面。由此,通过实时HTTP处理XML数据,我对这一概念进行拓展。
处理XML
虽然我看到的例子通过responseText方法只显示了文本文件的结果,但XMLHttpRequest可以很轻易地处理XML文件。这一对象的responseText属性提供了访问XML很方便的途径,它返回HTTP的主体,以及一个XML Document Object Model (DOM)。
以下简单例子演示了XMLHttpRequest的用法。我们先看看一些XML例子,例子中使用到以上的XML,其通过使用两个children节点的根节点集中了公司联系方式。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<telephone>502-000-0000</telephone>
<companyname>TechRepublic.com</companyname>
</response>
XML DOM
W3C已经指定了一个XML的标准文档对象模型。DOM是用于HTML和XML文档的程序开发接口,它能够让开发者访问和操作一个文档。开发者可以使用DOM建立和浏览文档。我们已经在前面的例子中使用到getElementsByTagName和firstChild,然而还有很多可利用的方法和属性,如下表所示:
例如,在第一例子中,我们使用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();
评论加载中…
![]() |