欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

XML 應(yīng)用程序

本節(jié)演示由 HTML 和 JavaScript 構(gòu)建的一個(gè)小型 XML 應(yīng)用程序。

XML 文檔實(shí)例

請(qǐng)看下面這個(gè) XML 文檔 ( "cd_catalog.xml" ),它描述了一個(gè) CD 目錄:

<?xml version="1.0" encoding="ISO-8859-1"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
.
.
... more ...
.

在您的瀏覽器中查看完整的 "cd_catalog.xml" 文件

復(fù)習(xí):加載 XML 文檔

首先,讓我們復(fù)習(xí)一下之前學(xué)習(xí)過的代碼。

為了加載 XML 文檔,我們使用了與《XML 解析器》那一節(jié)中相同的代碼:

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;

在本代碼執(zhí)行后,xmlDoc 成為一個(gè) XML DOM 對(duì)象,可由 JavaScript 訪問。

第一步:在任意 HTML 元素中顯示 XML 數(shù)據(jù)

XML 數(shù)據(jù)可以拷貝到任何有能力顯示文本的 HTML 元素。

下面這段代碼從第一個(gè) <CD> 元素中獲得 XML 數(shù)據(jù),然后在 id="showCD" 的 HTML 元素中顯示數(shù)據(jù):

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 + "<br />Title: " + title + "<br />Year: "+ year;
document.getElementById("showCD").innerHTML=txt;
}

HTML 的 body 元素包含一個(gè) onload 事件屬性,它的作用是在頁面已經(jīng)加載時(shí)調(diào)用 display() 函數(shù)。body 元素中還包含了供接受 XML 數(shù)據(jù)的 <div id='show'> 元素:

<div id="show"></div>

</body>

親自試一試:XML 數(shù)據(jù)如何在 <div> 元素中顯示

本例只能顯示 XML 文檔中第一個(gè) CD 元素中的數(shù)據(jù)。為了導(dǎo)航到數(shù)據(jù)的下一行,我們需要使用更多的代碼。

第二步:添加導(dǎo)航腳本

為了向上例添加導(dǎo)航(功能),需要?jiǎng)?chuàng)建 next() 和 previous() 兩個(gè)函數(shù):

function next()
{
if (i<x.length-1)
  {
  i++;
  displayCD();
  }
}

function previous()
{
if (i>0)
  {
  i--;
  displayCD();
  }
}

next() 函數(shù)確保已到達(dá)最后一個(gè) CD 元素后不顯示任何東西,previous () 函數(shù)確保已到達(dá)第一個(gè) CD 元素后不顯示任何東西。

通過點(diǎn)擊 next/previous 按鈕來調(diào)用 next() 和 previous() 函數(shù):

<input type="button" onclick="previous()" value="previous" />
<input type="button" onclick="next()" value="next" />

親自試一試:如何在 XML 記錄中導(dǎo)航

最后:當(dāng)點(diǎn)擊 CD 時(shí)顯示專輯信息

只需要一點(diǎn)點(diǎn)創(chuàng)新,您就可以創(chuàng)建一個(gè)完整的應(yīng)用程序。

最后的例子展示如何在點(diǎn)擊某個(gè) CD 項(xiàng)目時(shí)顯示專輯信息。

親自試一試