1、XML概念及作用?
XML( eXtensible Markup Language,可擴(kuò)展標(biāo)記語言)是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語言 作用:用來存儲(chǔ)和交換數(shù)據(jù) 無法描述頁面的排版和顯示形式
2、XML和XHTML的區(qū)別
1、XHTML2、XML 標(biāo)簽
(1)標(biāo)簽都有固定含義 不能去創(chuàng)造新的標(biāo)簽 (2)支持自定義標(biāo)簽,具有擴(kuò)展性 作用
(1)主要用來顯示數(shù)據(jù) 可以通過標(biāo)簽和屬性對(duì)頁面顯示進(jìn)行排版 (2)用來存儲(chǔ)和交換數(shù)據(jù) 無法描述頁面的排版和顯示形式
3、創(chuàng)建XML文檔
定義了XML的版本和所使用的編碼等信息<?xml version="1.0" encoding="UTF-8"?> XML文檔的主要部分是元素(1)元素由開始標(biāo)簽、元素內(nèi)容和結(jié)束標(biāo)簽組成(1)元素內(nèi)容可以包含子元素、字符數(shù)據(jù)等
(1)XML文檔中的注釋符號(hào)是<!-- -->
4、創(chuàng)建XML文檔,管理元素的規(guī)則
1.至少需要一個(gè)元素
2.XML 標(biāo)簽區(qū)分大小寫
3.應(yīng)正確使用結(jié)束標(biāo)簽
4.正確嵌套標(biāo)簽
5.應(yīng)使用合法標(biāo)簽
6.標(biāo)記名稱的長(zhǎng)度
7.應(yīng)定義有效的屬性
8.應(yīng)驗(yàn)證文檔
6、被視為格式良好的 XML 文檔的條件:
該文檔滿足最低要求集如果文檔不滿足任何一個(gè)良好格式的要求,則將發(fā)生致命錯(cuò)誤有效的 XML 文檔是符合 Document Type Definition(文檔類型定義,DTD)的規(guī)則的格式良好的 XML 文檔
7、使用DTD生成XML文檔
什么是DTD DTD (Document Type Definition文檔類型定義) 保證XML文檔格式正確性 DTD的結(jié)構(gòu) DTD 以簡(jiǎn)單文本文件的形式出現(xiàn) 可 以存儲(chǔ)在獨(dú)立的文件中,也可以嵌入 XML 文檔引用 DTD 的 XML 文檔將包含 <!DOCTYPE> 聲明
8、XML的優(yōu)勢(shì): 1.獨(dú)立于計(jì)算機(jī)平臺(tái) 2.簡(jiǎn)單性3.可擴(kuò)展性 4.交互性 5.獨(dú)立于編程語言 6.靈活性 7.獨(dú)立于操作系統(tǒng)
9、XML的作用 數(shù)據(jù)存儲(chǔ):
數(shù)據(jù)庫提供了更強(qiáng)有力的數(shù)據(jù)存儲(chǔ)和分析能力
XML僅僅是存儲(chǔ)數(shù)據(jù)
XML與其他數(shù)據(jù)表現(xiàn)形式最大的不同是它極其簡(jiǎn)單,正是這點(diǎn)使XML與眾不同
數(shù)據(jù)交換:由于各個(gè)計(jì)算機(jī)所使用的操作系統(tǒng)、數(shù)據(jù)庫不同,因此數(shù)據(jù)之間的交換向來是件頭痛的事可以使用XML來交換
數(shù)據(jù) 數(shù)據(jù)配置: 使用XML配制文件可讀性強(qiáng),靈活性高
10、解析XML方式
目前最常用的XML解析技術(shù):
DOMSAX
Sun公司提供了JAXP (java API for XML)接口來使用DOM和SAX
org.w3c.dom:W3C推薦的用于使用DOM解析XML文檔的接口org.xml.sax:用于使用SAX解析XML文檔的接口
11、使用DOM解析XML
DOM是Document Object Model的縮寫,即文檔對(duì)象模型
DOM把XML文映射成一個(gè)倒掛的樹
使用DOM解析XML文檔的步驟:
創(chuàng)建解析器工廠對(duì)象
由解析器工廠對(duì)象創(chuàng)建解析器對(duì)象由解析器對(duì)象對(duì)指定XML文件進(jìn)行解析,構(gòu)建相應(yīng)DOM樹,創(chuàng)建Document對(duì)象
以Document對(duì)象為起點(diǎn)對(duì)DOM樹的節(jié)點(diǎn)進(jìn)行增刪改查操作。
12、Document對(duì)象
Document對(duì)象代表了整個(gè)XML文檔所有其它的Node都以一定的順序包含在Document對(duì)象之內(nèi)它也是對(duì)XML文檔進(jìn)行操作的起點(diǎn) Document對(duì)象的主要方法有:
getElementsByTagName(String):返回一個(gè)NodeList對(duì)象,它包含了所有給定標(biāo)簽名字的標(biāo)簽
getDocumentElement():返回一個(gè)代表這個(gè)DOM樹的根節(jié)點(diǎn)的Element對(duì)象,也就是代表XML文檔根元素的那個(gè)對(duì)象
13、NodeList對(duì)象
指一個(gè)包含了一個(gè)或者多個(gè)節(jié)點(diǎn)(Node)的列表可以簡(jiǎn)單的把它看成一個(gè)Node數(shù)組
可以通過方法來獲得列表中元素
NodeList對(duì)象常用的方法有:
getLength():返回列表的長(zhǎng)度item(int):返回指定位置的Node對(duì)象
14、Node對(duì)象
是DOM結(jié)構(gòu)中最基本的對(duì)象,代表了文檔樹中的一個(gè)抽象節(jié)點(diǎn)實(shí)際使用的時(shí)候,很少會(huì)真正用到Node這個(gè)對(duì)象
而是用到諸如Element、Attr、Text等Node對(duì)象的子對(duì)象
Node對(duì)象的主要方法有:
方法名 說 明
getChildNodes 包含此節(jié)點(diǎn)的所有子節(jié)點(diǎn)的
NodeList getFirstChild()如果節(jié)點(diǎn)存在子節(jié)點(diǎn),則返回第一個(gè)子節(jié)點(diǎn)
getLastChild()如果節(jié)點(diǎn)存在子節(jié)點(diǎn),返回最后一個(gè)子節(jié)點(diǎn)
getNextSibling()返回在DOM樹中這個(gè)節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn)
getPReviousSibling() 返回在DOM樹中這個(gè)節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn)
getNodeName() 根據(jù)節(jié)點(diǎn)的類型返回節(jié)點(diǎn)的名稱
getNodeValue() 返回節(jié)點(diǎn)的值
getNodeType() 返回節(jié)點(diǎn)的類型
14、Element對(duì)象 Element對(duì)象 代表XML文檔中的標(biāo)簽元素
繼承自Node對(duì)象,是Node最主要的子對(duì)象
Element對(duì)象的方法: getAttribute(String):返回標(biāo)簽中給定屬性名稱的屬性的值
getElementsByTagName(String):返回具有給定標(biāo)記名稱的所有后代 Elements 的 NodeList
15、使用SAX解析XML
SAX(Simple API for XML)是另一種常用的XML解析技術(shù)
SAX解析器不像DOM那樣建立一個(gè)完整的文檔樹,而是在讀取文檔時(shí)激活一系列事件
這些事件被推給事件處理器,然后由事件處理器提供對(duì)文檔內(nèi)容的訪問 與DOM相比,SAX的優(yōu)點(diǎn)如下:
1、內(nèi)存消耗小 2、無需為所有節(jié)點(diǎn)創(chuàng)建對(duì)象
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注