本節演示由 html 和 JavaScript 構建的一個小型 XML 應用程序。
請看下面這個 XML 文檔 ( "cd_catalog.xml" ),它描述了一個 CD 目錄:
<?xml version="1.0" encoding="ISO-8859-1"?>..... more .... Empire Burlesque Bob DylanUSA Columbia 10.90 1985
在您的瀏覽器中查看完整的 "cd_catalog.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 訪問。
XML 數據可以拷貝到任何有能力顯示文本的 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 項目時顯示專輯信息。
親自試一試
新聞熱點
疑難解答
主站蜘蛛池模板: 太原市| 紫阳县| 平邑县| 无棣县| 新沂市| 新安县| 吉林省| 岳普湖县| 米脂县| 卫辉市| 北碚区| 察雅县| 杂多县| 大兴区| 阳原县| 沙田区| 蓝田县| 四平市| 玉溪市| 肇东市| 高陵县| 阿克| 蕉岭县| 利辛县| 邵阳县| 财经| 金山区| 黎川县| 郓城县| 宁晋县| 手游| 界首市| 大荔县| 潮州市| 浙江省| 方山县| 广宁县| 邵东县| 长顺县| 雅江县| 城市|