首页 > 开发 > Xml > 正文

XML 应用程序

2021-12-25 16:50:06
字体:
来源:转载
供稿:网友

本节演示由 html 和 JavaScript 构建的一个小型 XML 应用程序。

XML 文档实例

请看下面这个 XML 文档 ( "cd_catalog.xml" ),它描述了一个 CD 目录:

<?xml version="1.0" encoding="ISO-8859-1"?>      Empire Burlesque    Bob Dylan    USA    Columbia    10.90    1985  ..... more ....

在您的浏览器中查看完整的 "cd_catalog.xml" 文件。

复习:加载 XML 文档

首先,让我们复习一下之前学习过的代码。

为了加载 XML 文档,我们使用了与《XML 解析器》那一节中相同的代码:

if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari  xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }xmlhttp.open("GET","cd_catalog.xml",false);xmlhttp.send();xmlDoc=xmlhttp.responseXML;

在本代码执行后,xmlDoc 成为一个 XML DOM 对象,可由 JavaScript 访问。

第一步:在任意 HTML 元素中显示 XML 数据

XML 数据可以拷贝到任何有能力显示文本的 HTML 元素。

下面这段代码从第一个 元素中获得 XML 数据,然后在 id="showCD" 的 HTML 元素中显示数据:

x=xmlDoc.getElementsByTagName("CD");i=0;function displayCD(){artist=(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);title=(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);year=(x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue);txt="Artist: " + artist + "
Title: " + title + "
Year: "+ year;document.getElementById("showCD").innerHTML=txt;}

HTML 的 body 元素包含一个 onload 事件属性,它的作用是在页面已经加载时调用 display() 函数。body 元素中还包含了供接受 XML 数据的

元素:

亲自试一试:XML 数据如何在

元素中显示

本例只能显示 XML 文档中第一个 CD 元素中的数据。为了导航到数据的下一行,我们需要使用更多的代码。

第二步:添加导航脚本

为了向上例添加导航(功能),需要创建 next() 和 previous() 两个函数:

function next(){if (i0)  {  i--;  displayCD();  }}

next() 函数确保已到达最后一个 CD 元素后不显示任何东西,previous () 函数确保已到达第一个 CD 元素后不显示任何东西。

通过点击 next/previous 按钮来调用 next() 和 previous() 函数:

亲自试一试:如何在 XML 记录中导航

最后:当点击 CD 时显示专辑信息

只需要一点点创新,您就可以创建一个完整的应用程序。

最后的例子展示如何在点击某个 CD 项目时显示专辑信息。

亲自试一试

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表