JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法示例
本文實(shí)例講述了JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
一、介紹
通過(guò)JavaScript讀取XML文檔中數(shù)據(jù)的方法很多。
其根本的思路就是:首先在后臺(tái)加載XML文檔,然后通過(guò)JavaScript獲取文檔中所需的數(shù)據(jù),最后應(yīng)用HTML展示獲取的數(shù)據(jù)。
二、獲取XML元素的屬性值的應(yīng)用
下面應(yīng)用attributes
屬性和getNamedItem()
方法獲取一個(gè)指定的XML文檔中的屬性值。
三、代碼
首先創(chuàng)建一個(gè)XML文檔,并且為指定的元素設(shè)置屬性,程序代碼如下:
<?xml version="1.0" encoding="GB2312"?> <employes> <employe id='1' attendence='經(jīng)理'> <number>1001</number> <name>程**</name> <object>PHP</object> <tel>84971547</tel> <address>長(zhǎng)春市</address> <e_mail>cak**@sina.com</e_mail> </employe> </employes>
然后創(chuàng)建一個(gè)index.html文件,實(shí)現(xiàn)XML元素中數(shù)據(jù)和屬性值的輸出。
獲取employe元素的引用,通過(guò)attributes獲取employe元素的屬性集合,用getNamedItem()
方法獲取集合attributes中attendence對(duì)象的引用,并將其賦值給變量attendenceperson。最后通過(guò)字符串的拼接實(shí)現(xiàn)XML文檔中數(shù)據(jù)和屬性值的輸出,這里獲取的屬性值為“經(jīng)理”。
程序代碼如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>www.dbjr.com.cn 獲取XML元素的屬性值</title> </head> <script> function get_xml(){ var xmldoc,employesNode,employeNode; //定義變量 var nameNode,titleNode,numberNode,displayText; //定義變量 var attributes,attendenceperson xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; xmldoc.load("index.xml"); //載入指定的XML文檔 employesNode=xmldoc.documentElement; //獲取根節(jié)點(diǎn) employeNode=employesNode.firstChild; //訪問(wèn)根元素下的第一個(gè)節(jié)點(diǎn) numberNode=employeNode.firstChild; //獲取number元素 nameNode=numberNode.nextSibling; //獲取name元素 objectNode=nameNode.nextSibling; telNode=objectNode.nextSibling; attributes=employeNode.attributes; //獲取employe節(jié)點(diǎn)的屬性集合 attendenceperson=attributes.getNamedItem("attendence") //獲取集合指定對(duì)象的引用 //實(shí)現(xiàn)字符串的拼接,輸出XML文檔中的數(shù)據(jù) displayText="員工信息:"+numberNode.firstChild.nodeValue+','+nameNode.firstChild.nodeValue+', '+objectNode. firstChild.nodeValue+','+telNode.firstChild.nodeValue+"<br>職務(wù):"+attendenceperson.value; div.innerHTML=displayText; //指定在ID標(biāo)識(shí)為div的<div>標(biāo)簽中輸出字符串displayText的信息 } </script> <body> <h1>輸出XML元素中的數(shù)據(jù)和屬性值</h1> <!--應(yīng)用onClick事件調(diào)用函數(shù)get_xml()--> <input type="button" value="獲取XML元素的屬性值" onClick="get_xml()"> <div id="div"></div> </body> </html>
四、運(yùn)行結(jié)果
注:這里使用了ActiveXObject來(lái)進(jìn)行針對(duì)xml文件的操作,需要使用兼容IE的瀏覽器才能得到運(yùn)行效果。否則會(huì)提示:ActiveXObject is not defined
PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作XML文件技巧總結(jié)》、《JavaScript文件與目錄操作技巧匯總》、《JavaScript中ajax操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS實(shí)現(xiàn)讀取xml內(nèi)容并輸出到div中的方法示例
- javascript 讀取XML數(shù)據(jù),在頁(yè)面中展現(xiàn)、編輯、保存的實(shí)現(xiàn)
- JavaScript 解析讀取XML文檔 實(shí)例代碼
- JS讀取XML文件示例代碼
- firefox中JS讀取XML文件
- JS通過(guò)ajax動(dòng)態(tài)讀取xml文件內(nèi)容的方法
- JS實(shí)現(xiàn)加載和讀取XML文件的方法詳解
- Jsp結(jié)合XML+XSLT將輸出轉(zhuǎn)換為Html格式
- JS讀取XML文件數(shù)據(jù)并以table形式顯示數(shù)據(jù)的方法(兼容IE與火狐)
- JS使用ajax從xml文件動(dòng)態(tài)獲取數(shù)據(jù)顯示的方法
- javascript XML數(shù)據(jù)顯示為HTML一例
相關(guān)文章
js下利用userData實(shí)現(xiàn)客戶端保存表單數(shù)據(jù)
對(duì)于多數(shù)網(wǎng)頁(yè)制作的朋友,實(shí)現(xiàn)在客戶端保存在網(wǎng)頁(yè)表單上的信息,比較多的是采用Cookie技術(shù)來(lái)實(shí)現(xiàn),這些功能例如:下拉列表框選擇的選項(xiàng),文本框輸入的數(shù)據(jù)等。2010-06-06JavaScript對(duì)象數(shù)組排序函數(shù)及六個(gè)用法
本文給大家分享一個(gè)用于數(shù)組或者對(duì)象的排序的函數(shù)。該函數(shù)可以以任意深度的數(shù)組或者對(duì)象的值作為排序基數(shù)對(duì)數(shù)組或的元素進(jìn)行排序2015-12-12整理CocosCreator常用知識(shí)點(diǎn)
這篇文章主要介紹了整理CocosCreator常用知識(shí)點(diǎn),這些知識(shí)點(diǎn),平時(shí)幾乎都能用到,希望同學(xué)們看完后,可以自己去試一下,加深印象2021-04-04JavaScript數(shù)值數(shù)組排序示例分享
在Javascript中我們已知有兩個(gè)可以直接用來(lái)進(jìn)行數(shù)組排序的方法reverse()和sort()。其中reverse()是按照反向?qū)τ跀?shù)組進(jìn)行排序的,而sort()是按照正向進(jìn)行排序的。2014-05-05基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【八】框架功能總體界面介紹
這篇文章主要介紹了基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【八】框架功能總體界面介紹 的相關(guān)資料,需要的朋友可以參考下2016-05-05js實(shí)現(xiàn)類選擇器和name屬性選擇器的示例步驟
這篇文章主要介紹了js實(shí)現(xiàn)類選擇器和name屬性選擇器的示例步驟,幫助大家更好的理解和使用js,感興趣的朋友可以了解下2021-02-02微信小程序?qū)崿F(xiàn)時(shí)間戳格式轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)時(shí)間戳格式轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07深入理解Javascript中的循環(huán)優(yōu)化
這篇文章介紹了Javascript中的循環(huán)優(yōu)化,有需要的朋友可以參考一下2013-11-11一文學(xué)會(huì)用JS判斷文字是否被省略(ellipsis)
這篇文章主要給大家介紹了用JS如何判斷文字被省略ellipsis,CSS幫我們搞定了省略,但是JS并不知道文本什么時(shí)候被省略了,所以我們得通過(guò)JS來(lái)計(jì)算,接下來(lái),我將介紹2種方法來(lái)實(shí)現(xiàn)JS計(jì)算省略,需要的朋友可以參考下2023-08-08