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

解析XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型

極客學(xué)院   發(fā)布時(shí)間:2016-02-15 11:45:49   作者:佚名   我要評(píng)論
這篇文章主要介紹了XML中的樹(shù)形結(jié)構(gòu)與DOM文檔對(duì)象模型,文中舉了JavaScript解析DOM對(duì)象的例子,需要的朋友可以參考下

樹(shù)結(jié)構(gòu)
XML 文檔始終是描述性的。樹(shù)狀結(jié)構(gòu)通常被稱為 XML 樹(shù),它在描述 XML 文檔的過(guò)程中扮演一個(gè)重要的角色。

這個(gè)樹(shù)結(jié)構(gòu)包含根(父)元素,子元素等等。通過(guò)使用樹(shù)狀結(jié)構(gòu),我們可以了解源自根元素的所有后續(xù)分支和子分支。解析從根元素開(kāi)始,然后向下移動(dòng)到指向某個(gè)元素的第一個(gè)分支,從這里開(kāi)始處理第一個(gè)分支及其子節(jié)點(diǎn)。

示例
下面的示例演示了簡(jiǎn)單的 XML 樹(shù)結(jié)構(gòu):

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <?xml version="1.0"?>  
  2. <Company>  
  3.     <Employee>  
  4.         <FirstName>Tanmay</FirstName>  
  5.         <LastName>Patil</LastName>  
  6.         <ContactNo>1234567890</ContactNo>  
  7.         <Email>tanmaypatil@xyz.com</Email>  
  8.         <Address>  
  9.             <City>Bangalore</City>  
  10.             <State>Karnataka</State>  
  11.             <Zip>560212</Zip>  
  12.         </Address>  
  13.     </Employee>  
  14. </Company>  

下面的樹(shù)結(jié)構(gòu)表示上面的 XML 文檔:
2016215114941329.jpg (560×275)

圖中,有一個(gè)叫做 <company> 的根元素。里面又有一個(gè) <Employee> 元素。在雇員元素里面,又有 5 個(gè)分支,分別是 <FirstName>,<LastName>,<ContactNo>,<Email> 和 <Address>。在 <Address> 元素內(nèi),又有三個(gè)子分支,分別是 <City>,<State> 和 <Zip>。

DOM文檔對(duì)象模型
文檔對(duì)象模型(DOM)是 XML 的基礎(chǔ)。XML 文檔有一個(gè)信息層次結(jié)構(gòu)單位,被稱作節(jié)點(diǎn);DOM 是描述這些節(jié)點(diǎn)和它們之間關(guān)系的一種方式。

DOM 文檔就是一個(gè)節(jié)點(diǎn)集合或者按照層次結(jié)構(gòu)組織的信息塊。這個(gè)層次結(jié)構(gòu)允許開(kāi)發(fā)人員導(dǎo)航這個(gè)節(jié)點(diǎn)樹(shù)來(lái)查詢特定的信息。由于它基于信息層次結(jié)構(gòu),DOM 也被認(rèn)為是_基于節(jié)點(diǎn)樹(shù)_的。

另一方面,XML DOM 還提供了一個(gè) API,允許開(kāi)發(fā)者在節(jié)點(diǎn)樹(shù)的任意位置添加,編輯,移動(dòng)或者移除節(jié)點(diǎn),以便創(chuàng)建應(yīng)用程序。

示例
下面的示例(sample.htm)將一個(gè) XML 文檔("address.xml")解析為一個(gè) XML DOM 對(duì)象,然后用 JavaScript 提取了一些信息:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <body>  
  4. <h1>TutorialsPoint DOM example </h1>  
  5. <div>  
  6. <b>Name:</b> <span id="name"></span><br>  
  7. <b>Company:</b> <span id="company"></span><br>  
  8. <b>Phone:</b> <span id="phone"></span>  
  9. </div>  
  10. <script>  
  11. if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari   
  12.     xmlhttp = new XMLHttpRequest();   
  13. } else {// code for IE6, IE5   
  14.     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   
  15. }   
  16.   
  17. xmlhttp.open("GET","/xml/address.xml",false);   
  18. xmlhttp.send();   
  19. xmlDoc=xmlhttp.responseXML;   
  20. document.getElementById("name").innerHTML=   
  21. xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;   
  22. document.getElementById("company").innerHTML=   
  23. xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;   
  24. document.getElementById("phone").innerHTML=   
  25. xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;   
  26. </script>  
  27. </body  
  28. </html>  

address.xml 的內(nèi)容如下:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <?xml version="1.0"?>  
  2. <contact-info>  
  3.     <name>Tanmay Patil</name>  
  4.     <company>TutorialsPoint</company>  
  5.     <phone>(011) 123-4567</phone>  
  6. </contact-info>  

我們可以把這兩個(gè)文 sample.htm 和 address.xml 件保存到同一目錄 /xml 中,然后通過(guò)在瀏覽器中打開(kāi)的方式執(zhí)行 sample.htm 文件。它應(yīng)該生成如下所示結(jié)果:
2016215115103164.png (481×143)

這里,可以看到我們提取了每個(gè)子節(jié)點(diǎn)并顯示了它們的值。

相關(guān)文章

  • 詳解XML編程中的模式定義XSD

    這篇文章主要介紹了詳解XML編程中的模式定義XSD,講解了如何在XML文檔中聲明模式及定義類型等內(nèi)容,需要的朋友可以參考下
    2016-02-15
  • 深入解析XML中的DTD文檔類型定義

    這篇文章主要介紹了XML中的DTD文檔類型定義,是XML入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-02-15
  • 淺談XML代碼編寫的編碼與驗(yàn)證問(wèn)題

    這篇文章主要介紹了XML代碼編寫的編碼與驗(yàn)證問(wèn)題,與HTML類似,XML文件的編碼也能在序言部分被指定,需要的朋友可以參考下
    2016-02-15
  • 簡(jiǎn)單了解XML中的處理指令

    這篇文章主要介紹了XML中的處理指令,處理指令在XML中并不常用,稍作了解即可,需要的朋友可以參考下
    2016-02-15
  • 解析XML對(duì)代碼中的空白處理

    這篇文章主要介紹了XML對(duì)代碼中的空白處理,文中介紹到了XML書寫中的有效空白與無(wú)效空白的區(qū)分,需要的朋友可以參考下
    2016-02-14
  • 深入解析XML中的字符實(shí)體與字符數(shù)據(jù)

    這篇文章主要介紹了XML中的字符實(shí)體與字符數(shù)據(jù),文中所說(shuō)的CDATA片段即是指字符數(shù)據(jù)即不由解析器解析的文本塊,需要的朋友可以參考下
    2016-02-14
  • 詳解XML中的代碼注釋書寫方法

    這篇文章主要介紹了詳解XML中的代碼注釋書寫方法,文章中總結(jié)了注釋使用的一些注意點(diǎn),比如XML不支持嵌套注釋等,需要的朋友可以參考下
    2016-02-14
  • XML中的屬性學(xué)習(xí)教程

    這篇文章主要介紹了XML中的屬性學(xué)習(xí)教程,包括使用屬性將數(shù)據(jù)存儲(chǔ)在子元素中的例子,需要的朋友可以參考下
    2016-02-14
  • 詳解XML中的標(biāo)簽與元素的使用

    這篇文章主要介紹了XML中的標(biāo)簽與元素的使用,是XML入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-02-14
  • 詳解XML中的文檔與聲明用法

    這篇文章主要介紹了XML中的文檔與聲明用法,是XML入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-02-04

最新評(píng)論