国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Html DOM樹的結構和訪問

開發 前端
本文向大家簡單介紹一下Html DOM樹的概念和用法,DOM是一種與平臺和語言無關的接口,它允許程序和腳本動態訪問和修改文檔的內容、結構和類型。它定義了一系列的對象和方法對Html DOM樹的節點進行各種隨機操作。

你對Html DOM樹的概念是否了解,這里和大家分享一下,DOM(DocumentObjectModel)解析器將XML文檔一次性解析,生成一個位于內存中的對象樹用以描述該文檔。

Html DOM樹

1.Html DOM樹

所有類型的XML解析器都要求處理對象是“格式良好”的XML文檔,有些還能根據DTD或XMLSchema進行有效性驗證,DOM(DocumentObjectModel)解析器將XML文檔一次性解析,生成一個位于內存中的對象樹用以描述該文檔。

DOM是一種與平臺和語言無關的接口,它允許程序和腳本動態訪問和修改文檔的內容、結構和類型。它定義了一系列的對象和方法對Html DOM樹的節點進行各種隨機操作:

◆Document對象:作為樹的最高節點,Document對象是對整個文檔進行操作的入口。

◆Element和Attr對象:這些節點對象都是文檔某一部分的映射,節點的定級層次恰好反映了文檔的結構。

◆Text對象:作為Element和Attr對象的子節點,Text對象表達了元素或屬性的文本內容。Text節點不再包含任何子節點。

◆集合索引:DOM提供了幾種集合索引方式,可以對節點按指定方式進行遍歷。索引參數都是從0開始記數的。

Html DOM樹中的所有節點都是從Node對象繼承而來的。Node對象定義了一些最基本的屬性和方法,利用這些方法可以實現對樹的遍歷,同時,根據屬性還可以得知節點的名稱、取值并判斷其類型。
利用DOM,開發人員可以動態地創建XML、遍歷文檔、增加/刪除/修改文檔內容。DOM提供的API與編程語言無關,所以對一些DOM標準中沒有明確定義的接口,不同解析器的實現方法也可能有所差別。為方便描述,本文的舉例均采用MSXMLDOM方案并用VBScript編寫代碼。

2.Html DOM樹的結構

Document對象建立之后,就可以與XML文檔或數據島聯系在一起。數據島的加載方法是將數據島ID賦給Document對象: 

  1. <XMLIDXMLID=“dsoDetails”src=“Books.xml”></XML> 
  2. Setdoc=dsoDetails.XMLDocument  
  3.  

加載文檔大體上分為三步:

1.使用CreateObject方法創建分析器實例;

2.設置async屬性為False,禁止異步加載,這樣當文檔加載完畢,控制權才會返回給調用進程,如果想獲取文檔加載狀態,可以讀取readyState屬性值;

3.使用load方法加載指定文檔。

  1. Setdoc=CreateObject(“Microsoft.XMLDOM”)  
  2. doc.async=False 
  3. doc.load“Books.xml”  

XMLDOM還提供了一種loadXML的方法可以把XML字符串加載到Html DOM樹中,使用時只要把XML字符串直接作為該方法的參數即可。#p#

3.Html DOM樹的訪問

在文檔加載完畢之后就可以使用documentElement屬性訪問根元素: 

  1. SetrootNode=doc.documentElement  
  2.  

一旦建立了對Html DOM樹中某個節點(例如根節點)的引用,就可以根據節點間的等級關系調用適當的方法進行遍歷。
下面以books.xml為例說明各種方法的使用:

  1. <xmlidxmlid=“dsoBooks”> 
  2. <?xmlversionxmlversion=“1.0”?><booklist><book> 
  3. <title>TheGourmetMicrowave</title> 
  4. <price>9.95</price> 
  5. <author>CharlotteM.Cooper</author> 
  6. <author>ShelleyB.Burke</author> 
  7. <author>ReginaP.Murphy</author> 
  8. </book><book> 
  9. <title>Sushi,Anyone?</title> 
  10. <price>14.99</price></book><book> 
  11. <title>StraightTalkAboutComputers</title>
  12. <price>19.99</price> 
  13. <author>LarsPeterson</author> 
  14. </book></booklist></xml> 
  15.  

 建立對第二個<book>元素的引用:

 

  1. SettheNode=dsoBooks.XMLDocument.  
  2. documentElement.childNodes(1) 

◆根節點:theNode.ownerDocument返回Document節點,指向XML文檔本身;
◆兄弟節點:theNode.previousSibling返回第1個<book>元素,theNode.nextSibling返回第3個<book>元素;
◆父節點:theNode.parentNode返回<booklist>元素;
◆子節點:theNode.firstChild返回<title>元素,theNode.lastChild返回<price>元素,theNode.childNodes返回子節點集合,包括Sushi下面的所有元素。節點記數從0開始,即theNode.childNodes(0)的結果與theNode.firstChild的結果是一樣的。

獲得節點的引用后,就可以讀取節點的相關信息:

◆節點類型:theNode.nodeType,本例為1,Document對象類型為9,元素類型為1,屬性類型為2;
◆節點名稱:theNode.nodeName,本例為book;
◆節點值:theNode.nodeValue,本例為null,對于Attr節點,返回的是屬性值,而對于Element節點,返回的是null。

在MSXML中,對Node對象還提供了一些額外的方法和屬性:

◆nodeTypeString:用字符串的方式顯示節點類型,如theNode.nodeTypeString的結果是“element”;
◆text:顯示當前節點及其所有子節點的文本內容;
◆xml:獲取XML文檔數據,通常是從根元素開始的所有內容。#p#

4.XML格式的動態轉換

通過學習XSL,我們已經能夠使用樣式單對XML文檔進行轉換。但這種過程是靜態的,即在編寫代碼時,已經指定了作用在XML上的XSL文件,在程序運行過程中不能再做改變。而利用DOM,我們能夠實現XML格式的動態轉換,即在程序運行時,將XSL載入并對XML文檔進行轉換。

把XSL載入DOM對象的步驟基本上與XML文檔的載入過程是一樣的(XSL本身就是XML文檔): 

  1. Setstylesheet=CreateObject(“Microsoft.XMLDOM”)  
  2. stylesheet.async=False 
  3. stylesheet.load“TransformDetails.xsl” 

DOM提供了兩個函數進行這種轉換,作用對象可以是樹中任何節點。這樣就可以實現對Html DOM樹的任意的部分進行格式轉換。
◆transformNodeToObject方法:該方法需要兩個參數,第一個參數指向XSL文件,第二個參數存放轉換后的XML數據的節點。例如: 

  1. SettargetNode=CreateObject(“Microsoft.XMLDOM”)  
  2. srcNode.transformNodeToObjectstylesheet,targetNode  
  3.  

◆transformNode方法:該方法只需要一個參數指明XSL文件。如下例是將源節點轉換為一個字符串變量str:
 

  1. str=srcNode.transformNode(stylesheet)  
  2.  

【編輯推薦】

  1. JavaScript DOM特性與應用詳解
  2. W3C DOM模型用法詳解
  3. JavaScript獲取HTML DOM節點元素詳解
  4. 深入了解JavaScript HTML DOM對象
  5. 解析HTML DOM Checkbox對象的屬性和方法
責任編輯:佚名 來源: blog.csdn.net
相關推薦

2010-09-28 16:22:17

DOM樹

2010-09-28 11:11:23

XML DOMHTML DOM

2010-09-28 12:59:45

JavaScriptDOM

2010-08-23 13:29:43

HTMLpadding

2010-09-28 10:33:59

HTML DOM Ch

2009-07-09 10:15:23

PHP DOM

2010-09-28 10:24:50

HTML DOMXML DOM

2010-09-09 17:19:07

HTML DOMXML DOM

2011-07-26 10:46:04

HTML 5

2020-12-08 06:19:33

爬蟲Dom樹組件

2010-09-28 10:40:32

HTML DOM

2023-02-23 19:32:03

DOMJavascript開發

2010-09-08 17:26:46

JavaScript

2010-10-08 10:35:21

2010-09-28 11:32:30

HTML DOM是什么

2010-09-10 14:12:07

JavaScript

2022-05-06 19:42:53

DOM

2010-09-28 10:44:30

HTML DOM參考手

2010-09-13 13:58:17

HTML DOM

2010-09-15 14:40:07

HTMLposition屬性
點贊
收藏

51CTO技術棧公眾號

亚洲精品国产成人久久av盗摄 | 亚洲欧美综合| 日韩网站在线观看| 男女免费观看在线爽爽爽视频| 成人av网站在线| 亚洲婷婷在线视频| 亚洲特黄一级片| 国产精品成人观看视频免费| 综合一区av| 亚洲国产另类久久久精品极度| 亚洲一区二区伦理| 免费国产a级片| 午夜电影久久久| 国产精品麻豆一区二区三区| 国产成人在线免费| 精品一区二区三区不卡| 久久精品一区二区三区av| 国产精品成人一区二区三区吃奶| 玖玖综合伊人| 亚洲精品精品亚洲| 8x8x8x视频在线观看| 国产精品白丝jk黑袜喷水| 欧美日韩亚洲免费| 国产日韩亚洲| 国产精品美乳一区二区免费| 波多野结衣久久精品| 亚洲图片激情小说| 黄色一级免费大片| 日韩一区二区精品| 男人的天堂在线免费视频| 久久精品久久久| 国产精品污www在线观看| 国产91精品久久久| 国产精品欧美激情在线观看| 亚洲人成777| 久久在线免费视频| 国产精品99久久久久久动医院| 精品欧美一区二区三区精品久久| 国产真实乱子伦| 亚洲第一久久影院| 亚洲欧洲一区二区在线观看| 成人综合网站| 精品毛片三在线观看| 网站一区二区三区| 国产亚洲一区二区三区在线观看| 成人xxxxx色| 九九久久精品| 国产精品网址在线| 国内高清免费在线视频| 久久天堂av综合合色蜜桃网| 国产欧美一区二区三区视频 | 欧美成年人视频在线观看| 午夜激情久久| 在线观看亚洲视频啊啊啊啊| 亚洲宅男天堂在线观看无病毒| 国产精品99久久久久久久久久久久| 欧美成人综合| 丝袜国产免费观看| 日韩视频免费中文字幕| 琪琪一区二区三区| 欧美少妇另类| 亚洲aaaaaa| 色综合天天综合狠狠| 香蕉综合视频| 成人h动漫在线| 日韩电影中文字幕在线观看| 日韩精品免费一区二区三区| 久久亚洲综合网| 久久综合九色综合久久久精品综合| 日本一本二本在线观看| 欧美精品在线观看播放| 黄色成人在线视频| 国产欧美丝袜| 国产亚洲成av人在线观看导航| 福利视频在线看| 亚洲成色777777在线观看影院| 在线不卡日本v二区707| 欧美精品福利视频| 日韩精品一级二级 | 精品国一区二区三区| 深爱激情综合网| 成年网站在线播放| 午夜精品福利在线观看| 久久综合影院| 日韩中文字幕在线观看| 国产不卡一区| 亚洲欧美另类动漫| 亚洲视频在线一区观看| 男人插女人欧美| 欧美日本免费一区二区三区| 未来日记在线观看| 亚洲天堂av在线免费观看| 最近高清中文在线字幕在线观看| 视频一区视频二区在线观看| 久久久久久久久久国产精品| 78精品国产综合久久香蕉| 亚洲第一精品夜夜躁人人爽| 看片一区二区| 不卡毛片在线看| 99精品老司机免费视频| 亚洲女同一区二区| 日本私人网站在线观看| 日韩欧美黄色动漫| 欧美亚洲韩国| 亚洲自拍偷拍在线| 国产一区二区三区av电影 | 67194成人在线观看| 成人四虎影院| 一区二区三区网址| 亚洲一区二区三区涩| 日韩在线观看你懂的| 性感美女极品91精品| 无码av天堂一区二区三区| 神马久久桃色视频| 亚洲综合av网| 91在线视频在线| 精品伊人久久久久7777人| 牛牛精品成人免费视频| 色网在线观看| 电影av一区| 午夜在线观看视频网站| 成人在线小视频| 国产精品羞羞答答xxdd| 午夜亚洲成人| 97国产成人精品视频| 亚洲一区二区日韩| 91大学生片黄在线观看| 日韩国产高清在线| 黄a免费视频| 欧美片一区二区三区| 国产福利电影一区二区三区| 91短视频在线观看| 最近2019中文免费高清视频观看www99 | 在线看a视频| 亚洲精品电影网| 国内成+人亚洲+欧美+综合在线 | 我要看一级黄色大片| 狠狠干狠狠久久| 久久都是精品| 超碰在线免费播放| 国产高清精品一区二区| 久久成人免费网站| 岛国大片在线播放| 亚洲国产一区在线观看| jvid一区二区三区| 欧美精品一区三区在线观看| 精品视频一区二区不卡| 全部免费毛片在线播放网站| 欧美激情在线观看| 国产日韩亚洲欧美综合| 久久亚洲综合av| 国产午夜精品一区二区三区嫩草 | 91九色露脸| 亚洲深夜福利在线| 欧美亚男人的天堂| 中文字幕国产一区| 日本欧美加勒比视频| 欧美极品在线观看| 午夜激情成人网| 日韩激情啪啪| 国产精品一区一区| 日本欧美在线观看| 嫩呦国产一区二区三区av| 国产丝袜在线| 男女超爽视频免费播放| 成人福利网站在线观看| 久久97久久97精品免视看| 99在线精品观看| 成人羞羞网站入口免费| 日本黄色片在线观看| 国产女优裸体网站| 成人高清在线| 日韩视频一区二区三区四区| 亚洲小说欧美另类婷婷| 五月婷婷六月丁香激情| 五月综合激情在线| 极品少妇一区二区三区精品视频| 久久久亚洲高清| 欧美午夜宅男影院| 久久av.com| 久久精品国产精品国产精品污 | 色88888久久久久久影院野外| 亚洲欧美日韩在线播放| 午夜精品久久久久久久99水蜜桃 | 在线观看91精品国产入口| 欧美日韩午夜激情| 亚洲三级在线播放| 在线看不卡av| 久久6精品影院| av动漫在线播放| 妞干网在线观看| 18岁网站在线观看| 北条麻妃av高潮尖叫在线观看| 色播在线观看| 噜噜噜天天躁狠狠躁夜夜精品| 韩国女主播一区二区三区| 亚洲综合资源| 日韩欧美综合| 91毛片在线观看| 亚洲高清一区二区三区|