XML DOM介紹
07-18
一、XML DOM簡介DOM(Document Object Model,文檔對象模型)是一種應用程序介面(API)的應用,它將文檔(如XML文檔,HTML文檔等)看成是一個文檔對象,然後通過程序語言(如JavaScript等腳本語言,C++等)調用該文檔對象,對文檔中的數據進行存取,並利用程序對獲取的數據進行跟進一步的處理。XML DOM是將XML文檔以DOM方式包裝,通過DOM技術,應用程序即可很容易地提取XML文檔中的數據。二、XML DOM對象IE實現了對XML DOM技術的支持,提供了五個可以在腳本程序中調用的XML DOM對象:(1) XMLDOMDocument該對象代表整個XML文檔,它具有多種屬性和方法來獲取或創建其他XML DOM對象。(2) XMLDOMNode該對象可以代表XML文檔的根元素以及根元素下的各個節點。它支持數據類型、名域、DTD和Schema,並且以此擴展核心的XML DOM節點介面。(3) XMLDOMNodeList該對象代表XML文檔中一系列節點組成的一個節點列表,並且支持對該列表的遍歷。(4) XMLDOMNamedNodeMap該對象支持名域和對屬性集的遍歷。(5) XMLDOMParseError該對象用於返回最近一次解析錯誤的詳細信息,包括錯誤號、錯誤所在行、錯誤所在字元位置以及對錯誤的一個描述文本。三、XML DOM屬性XML DOM文檔的遍歷與HTML DOM的遍歷非常類似,因為它們都是節點層次的結構。節點樹的最頂部是documentElement屬性,包含文檔的根元素。使用下表中所列出的屬性,可以訪問文檔中任何元素或屬性。表4-1 XML DOM屬性屬 性描 述attributes包含當前節點屬性的數組childNodes包含子節點數組firstChild指向當前節點的第一個子節點lastChild指向當前節點的最後一個子節點nextSibling返回當前節點的下一個鄰居節點nodeName返回當前節點的名字nodeType指定當前節點的XML DOM節點類型nodeValue包含當前節點的文本ownerDocument返迴文檔的根元素parentNode指向當前節點的父節點previousSibling返回當前節點的前一個鄰居節點text返回當前節點的內容或當前節點及其子節點的文本(只有IE才支持的屬性)xml以字元串返回當前節點及其子節點的XML(只有IE才支持的屬性)四、XML DOM實例以下實例,講解如何讀取xml文件(支持IE和FireFox),並訪問節點中的信息:XML文件:Example1.xml<?xml version="1.0" encoding="gb2312"?><!--作為操作對象的XML文檔--><根元素><第2層><第3層>我是第三層元素集合中的第1個元素</第3層><第3層>我是第三層元素集合中的第2個元素</第3層></第2層></根元素>HTML文件:readXML.html<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>讀取XML文件,並訪問節點信息</title><script language="JavaScript" for="window" event="onload"><!--function createDocument() {var aVersions = [ "MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];for (var i = 0; i < aVersions.length; i++) {try {var oXmlDom = new ActiveXObject(aVersions[i]);return oXmlDom;//支持最新的版本} catch (oError) {// 不做任何處理}}throw new Error("MSXML is not installed.");}var XMLdoc;var XMLroot;if(typeof(window.ActiveXObject) != 『undefined『){// 支持IE瀏覽器XMLdoc = createDocument();XMLdoc.async="false";XMLdoc.load("Example1.xml");XMLroot=XMLdoc.documentElement;L2=XMLroot.childNodes.item(0);L3_Node0=L2.firstChild;strA=L3_Node0.nodeName;strB=L3_Node0.text;Text0.innerText=strA+" "+strB;L3_Node1=L2.lastChild;strA=L3_Node1.nodeName;strB=L3_Node1.text;Text1.innerText=strA+" "+strB;}else if(document.implementation && document.implementation.createDocument){// 支持Mozilla Firefox瀏覽器XMLdoc = document.implementation.createDocument("", "doc", null);XMLdoc.async="false";XMLdoc.load("Example1.xml");XMLdoc.onload=function(){x=XMLdoc.getElementsByTagName(『第3層『);L3_Node0=x.item(0);strA=L3_Node0.nodeName;strB=L3_Node0.childNodes[0].nodeValue;document.getElementById("Text0").textContent=strA+" "+strB;L3_Node1=x.item(1);strA=L3_Node1.nodeName;strB=L3_Node1.childNodes[0].nodeValue;document.getElementById("Text1").textContent=strA+" "+strB;}}//--></script></head><body><h3 align="center">讀取XML文件,並訪問節點信息<hr/></h3><h4>第三層的的第一個節點:</h4><div id="Text0" style="font-family:華文楷體;color:red;"></div><h4>第三層的的第二個節點:</h4><div id="Text1" style="font-family:黑體;color:blue;"></div></body></html>參考資料:《XML網頁開發實例教程》 機械工業出版社 尹泉等編著網上資料
推薦閱讀:
推薦閱讀:
※介紹蛇傷外治的有效方法
※羊品種介紹
※[轉載]沒錢沒勢照樣結交高人脈——自我介紹內功心法
※西溪濕地一、二期介紹
※新課介紹 | 交響樂
TAG:介紹 |