XML初學筆記

 1、基本概要css

       XML,全稱是eXtensible Markup Language,可擴展的標記語言,是Web服務的基礎之一,使用XML,用戶能夠定義本身須要的標記。而用戶建立的標記可使用文檔類型定義DTD(Document Type Definition)來定義,可是若是須要準確地描述數據的類型信息,而且便於計算機程序處理XML,則應該使用XSD大綱來定義新的標記。函數

2、XML的做用編碼

     1.存取數據spa

        將數據存儲到XML文件中供應用程序使用,例如:要在Web應用程序中顯示頁面的當前位置,能夠將全部的頁面信息存儲到一個XML文件中,XML文件中元素之間的關係對應着頁面之間的關係,而後應用程序讀取XML文件中元素內容就可獲得當前頁面信息。orm

     2.使內容與表示分離:xml

        XML標記描述的是文檔的結構和意義,也就是數據的實際內容,它不描述如何格式化並顯示這些數據,顯示數據的任務須要其餘語言來描述。對象

     3.提升數據共享的兼容性:blog

        不兼容的兩個系統可使用同一XML文件來交互數據,不一樣的應用程序均可以使用同一XML來訪問數據。繼承

3、XML文擋結構接口

    XML文檔結構內容主要包括序言和文檔元素,區分字母大小寫.

   

 1.XML聲明:<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

   version 表示版本,encoding表示編碼,standalone表示該XML文件是否與其餘文件關聯使用(yes表示不關聯使用,默認是no:可關聯使用)。

 2.處理指令:<?Processing_Instruction_target    Processing_Instruction_Information>

   處理指令能夠不遵照XML語法規則,是用來處理XML文檔的應用程序提供信息的,XML解析器將其原封不動的交給應用程序處理。

   好比在XML文檔中,有可能包含一些非XML格式的數據(如:樣式表),這些數據XML處理器沒法處理,咱們就能夠經過處理指令來通知其餘應用程序來處理這些數據,如:  

   <?xml-stylesheet  href="hello.css"  type="text/css"?>  ,其中"xml-stylesheet"叫作處理指令的目標,它必須標識到用到的應用程序

 3.註釋:<!--註釋的內容 -->,註釋是對文檔結構或內容的解釋,他們不屬於XML文檔的內容,XML解析器不會處理他們。

 4.字符和實體引用:相似HTML中的 &nbsp; 這種東東,XML五個字符實體引用:

          實體              實體引用                  意義            
             lt            &lt;             <(小於號)            
             gt            &gt;             >(大於號)
             amp            &amp;             &(和)
            apos            &apos;             ' (單引號)
            quot                  &quot;                 " (雙引號)

5.CDATA區:相似於HTML中的<pre></pre>標籤的做用,在CDATA區內,全部的標記和實體引用都被忽略,而被XML處理程序一視同仁地看成字符數據對待。當須要在XML文檔中顯示包含標記的文本時,就可用CDATA區。CDATA區的使用形式以下:<![CDATA[ 內容 ]]>。注意:CDATA區不能嵌套使用

6.元素:XML文件的主要結構,一個元素就表明一項信息。元素一般包括 元素名稱、開始標記、屬性、文本內容、結束標記。

    <elementName attlName="att1Value" att2Name="att2Value" ... />或<elementName ...>文本內容</elementName>

4、XML命名空間

   1.什麼是XML命名空間:相似於C#中的命名空間,是XML文檔中添加在同名元素前的標識符,用於區分不一樣意義的同名元素,固然任何元素前均可以添加命名空間用以區分同類元素集合,任何合理的惟一的字符串均可以作XML命名空間,如統一資源定位符(URI)、統一資源名稱(URN)、全局惟一標識符(UUID)、全球惟一標識符(GUID)等等。

   2.XML命名空間的做用:區分不一樣意義的同名的元素,防止同名元素解析錯誤

   3.使用方法:<namespacePrefix:elementName xmlns:namespacePrefix="命名空間">...</namespacePrefix:elementName>

     其中的namespacePrefix叫作命名空間前綴,是表明該命名空間的一個字符串,這樣寫可以避免長度較大的命名空間寫在元素前頭影響解析和閱讀。

   4.做用範圍:命名空間都是在某個元素內聲明的,而它的做用範圍就是該元素。該元素以及它的子元素中沒有其餘限定的元素均可以引用這個命名空間。

5、XML經常使用的兩種解析機制

    

     1.DOM

        DOM即文檔對象模型,基於DOM的XML解析器會將XML文檔轉換爲一個對象模型的集合(即DOM樹)加載在內存,應用程序就是經過操做DOM樹來實現對XML文檔任意數據進行隨機操做的,利用DOM接口的機制也稱做隨機訪問機制。

        DOM四個基本接口:①Document接口:對文檔進行操做的入口,繼承於Node接口;②Node接口:其餘接口的父類;③NodeList接口:一個節點的集合,包含該節點的全部子節點;④NamedNodeMap接口:一個節點的集合,經過該接口,能夠創建節點與節點之間的一一映射的關係,從而用節點名能夠直接訪問特定的節點。

        優勢:操做隨機性、靈活性

        缺點:當XML文檔內容較大時,對內存的需求很高,且操做效率低下      

     2.SAX

       SAX,XML簡單應用程序接口,即事件驅動接口,SAX會從頭至尾順序解析整個XML文檔,當遇到一個節點的開始或結束時,會觸發事件,並激活相應的事件處理函數,應用程序經過這些事件處理函數實現對XML文檔的訪問。SAX提供的是順序訪問機制,對於已經分析過的部分,不能再倒回去從新處理,SAX分析器只是順序的檢查XML文檔中的字節流,判斷當前字節的合法性,再觸發事件,而事件處理函數自己是由應用程序來實現的。

       優勢:對內容較多的XML文檔解析效率高

       缺點:只適合對XML文檔進行"讀"的操做,不適合"寫「,操做缺少靈活性

相關文章
相關標籤/搜索