xml

一.XML概念和體系

? ? ? ? 1.XML 概念

????????????????XML 指可擴展標記語言(EXtensible Markup Language)

????????????????XML 沒有預(yù)定義標簽,需要自行定義標簽

? ? ? ? 2.XML 的特點

????????????????XML 數(shù)據(jù)以純文本格式存儲

????????????????實現(xiàn)不同應(yīng)用程序之間的數(shù)據(jù)通信

????????????????實現(xiàn)不同平臺間的數(shù)據(jù)通信

????????????????實現(xiàn)不同平臺間的數(shù)據(jù)共享

????????????????使用 XML 將不同的程序、不同的平臺之間聯(lián)系起來

? ? ? ? 3.XML 的作用

????????????????數(shù)據(jù)存儲和數(shù)據(jù)傳輸

? ? ? ? 4.XML 和 HTML 之間的差異

????????????????XML 主要作用是數(shù)據(jù)存儲和傳輸(傳輸)

????????????????HTML 主要作用是用來顯示數(shù)據(jù)(顯示)

? ? ? ? 5.XML 文件的體系

????????????????1) XHTML 可擴展標識語言

????????????????2) WSDL Web Services Description Language 網(wǎng)絡(luò)服務(wù)描述語言,這種文檔可描述某個 Web service

????????????????3) WAP 和 WML 手持設(shè)備的標記語言

????????????????4) RSS( 廣 泛 用 于 網(wǎng) 上 新 聞 頻 道 ) : Really Simple Syndication 簡易信息聚合,使用 RSS 訂閱能更快地獲取信息,網(wǎng)站提供 RSS 輸出,有利于讓用戶獲取網(wǎng)站內(nèi)容的最新更新

????????????????5) RDF 和 OWL: 重要的語義網(wǎng)技術(shù)語義網(wǎng)是為資產(chǎn)管理、企業(yè)整合及網(wǎng)絡(luò)數(shù)據(jù)的共享和重用提供的一個框架。

????????????????6) SMIL 同步多媒體集成語言,它是由萬維網(wǎng)聯(lián)盟規(guī)定的多媒體操縱語言。最新的 SMIL 版本是 2001 年 8 月推出的SMIL 2.0 版本,它通過時序排列對聲音、影像、文字及圖形文件進行順序安排,然后將這些媒體表現(xiàn)看起來是同步的.

? ? ? ? 6.一個標準的 XML 文檔

代碼實列:




二.XML基本語法

? ? ? ? 1.XML 的基本語法

????????????????1) 有且只有一個根元素

????????????????2) XML 文檔聲明必須放在文檔的第一行

????????????????3) 所有標簽必須成對出現(xiàn)

????????????????4) XML 的標簽嚴格區(qū)分大小寫

????????????????5) XML 必須正確嵌套

????????????????6) XML 中的屬性值必須加引號

????????????????7) XML 中,一些特殊字符需要使用“實體”

????????????????8) XML 中可以應(yīng)用適當(dāng)?shù)淖⑨?/p>

? ? ? ? 2.XML 元素

????????????????XML 元素指的是開始標簽到結(jié)束標簽的部分

????????????????一個元素中可以包含:

????????????????????1) 其他元素

????????????????????2) 文本

????????????????????3) 屬性

????????????????????4) 以上的混合

? ? ? ? 3.XML 命名規(guī)則

????????????????????1) 名稱可以包含字母、數(shù)字及其他字符

????????????????????2) 名稱不能以數(shù)字或者標點符號開始

????????????????????3) 名稱不能以字母 xml 開始

????????????????????4) 名稱不能包含空格

?

三.Schema技術(shù)

? ? ? ? 1.DTD 驗證

????????????概念:DTD 文檔類型定義

????????????作用:驗證是否是“有效”的 XML

? ? ? ? 代碼實列:


PCDATA(Parsed Character DATA)的意思是被解析的字符 數(shù)據(jù), CDATA(Unparsed Character Data)不應(yīng)由 XML 解析 器進行解析的文本數(shù)據(jù) ?

? ? ? ? 2.DTD 的局限性

????????????????1) DTD 不遵守 XML 語法

????????????????2) DTD 數(shù)據(jù)類型有限

????????????????3) DTD 不可擴展

????????????????4) DTD 不支持命名空間

? ? ? ? 3.Schema 技術(shù)

????????????????Schema 是 DTD 的代替者,名稱為 XML Schema,用于描述XML 文檔結(jié)構(gòu),比 DTD 更加強大,最主要的特征之一就是XML Schema 支持數(shù)據(jù)類型

????????????????1) Schema 是用 XML 驗證 XML 遵循 XML 的語法

????????????????2) Schema 可以用能處理 XML 文檔的工具處理

????????????????3) Schema 大大擴充了數(shù)據(jù)類型,而且還可以自定義數(shù)據(jù)類型

????????????????4) Schema 支持元素的繼承

????????????????5) Schema 支持屬性組

? ? ? ? 4.Schema 的文檔結(jié)構(gòu)


? ? ? ? ? ? ? ?

????????????????所有的 Schema 文檔使用 schema 作為其根元http://www.w3.org/2001/XMLSchema:用于驗證當(dāng)前 Schema文檔的命名空間(用于驗證Schema本身)同時它還規(guī)定了來自命名空間 http://www.w3.org/2001/XMLSchema 的元素和數(shù)據(jù)類型應(yīng)該使用前綴 xs:xmlns 相當(dāng)于 java 中的 import, :xs“小名”,在使用時要寫加“小名”做前綴XML 使用 Schema 驗證,那 Schema 也是一個 XML,誰來驗證它?DTD)

? ? ? ? 5.使用 Schema 驗證 XML 文檔

????????????????1) 創(chuàng)建 SchemaFactory 工廠

????????????????2) 建立驗證文件對象

????????????????3) 利用 SchemaFactory 工廠對象,接收驗證的文件對象,生 成 Schema 對象

????????????????4) 產(chǎn)生對此 schema 的驗證器

????????????????5) 要驗證的數(shù)據(jù)(準備數(shù)據(jù)源)

????????????????6) 開始驗證

四.DOM方法解析XML數(shù)據(jù)

????????1.在 Java 程序中讀取 XML 文件的過程稱為解析 XML

? ? ? ? 2.解析 XML 文件的方式

????????????????1) DOM 解析 (java 官方提供)

????????????????2) SAX 解析(java 官方提供)

????????????????3) JDOM 解析(第三方提供)

????????????????4) DOM4J 解析(第三方提供)

? ? ? ? 3.DOM 解析 XML 的步驟

????????????????1) 創(chuàng)建一個 DocumentBuilderFactory 的對象

????????????????2) 創(chuàng)建一個 DocumentBuilder 對象

????????????????3) 通過DocumentBuilder的parse(...)方法得到Document對象

????????????????4) 通過 getElementsByTagName(...)方法獲取到節(jié)點的列表

????????????????5) 通過 for 循環(huán)遍歷每一個節(jié)點

????????????????6) 得到每個節(jié)點的屬性和屬性值

????????????????7) 得到每個節(jié)點的節(jié)點名和節(jié)點值

代碼實列:

? ? ? ? book.xml:


運行結(jié)果:


五.SAX方法解析XML數(shù)據(jù)

? ? ? ? 1.SAX 的概述

????????????????SAX,全稱 Simple API for XML,是一種以事件驅(qū)動的XMl API,SAX 與 DOM 不同的是它邊掃描邊解析,自頂向下依次解析,由于邊掃描邊解析,所以它解析 XML 具有速度快,占用內(nèi)存少的優(yōu)點。

? ? ? ? 2 .SAX 解析 XML 的步驟

????????????????1) 創(chuàng)建 SAXParserFactory 的對象

????????????????2) 創(chuàng)建 SAXParser 對象 (解析器)

????????????????3) 創(chuàng)建一個 DefaultHandler 的子類

????????????????4) 調(diào)用 parse 方法

代碼實列:


六.JDOM方法解析XML數(shù)據(jù)

? ? ? ? 1.JDOM 概述

????????????????JDOM 是一種解析 XML 的 Java 工具包,它基于樹型結(jié)構(gòu),利用純Java的技術(shù)對XML文檔實現(xiàn)解析。所以中適合于Java語言

? ? ? ? 2.JDOM 解析 XML 的步驟

????????????????1) 創(chuàng)建一個 SAXBuilder 對象

????????????????2) 調(diào)用 build 方法,得到 Document 對象(通過 IO 流)

????????????????3) 獲取根節(jié)點

????????????????4) 獲取根節(jié)點的直接子節(jié)點的集合

????????????????5) 遍歷集合

? ? ? ? ? ? 代碼實列:


七.DOM4J方法解析XML數(shù)據(jù)

? ? ? ? 1.DOM4J 是一個 Java 的 XML API,是 JDOM 的升級品,用來讀寫 XML 文件的

? ? ? ? 2.DOM4J 解析 XML 的步驟

????????????????1) 創(chuàng)建 SAXReader 對象

????????????????2) 調(diào)用 read 方法

????????????????3) 獲取根元素

????????????????4) 通過迭代器遍歷直接節(jié)點

? ? ? ? 3.四種解析 XML 的特點

????????????????1)DOM 解析:

????????????????????????形成了樹結(jié)構(gòu),有助于更好的理解、掌握,且代碼容易編寫。

????????????????????????解析過程中,樹結(jié)構(gòu)保存在內(nèi)存中,方便修改。

????????????????2)SAX 解析:

????????????????????????采用事件驅(qū)動模式,對內(nèi)存耗費比較小。

????????????????????????適用于只處理 XML 文件中的數(shù)據(jù)時

????????????????3)JDOM 解析:

? ? ? ? ? ? ? ? ? ? ? ?? 僅使用具體類,而不使用接口。

????????????????????????API 大量使用了 Collections 類。

????????????????4)DOM4J 解析:

????????????????????????JDOM 的一種智能分支,它合并了許多超出基本 XML 文檔表示的功能。

????????????????????????它使用接口和抽象基本類方法。

????????????????????????具有性能優(yōu)異、靈活性好、功能強大和極端易用的特點。

????????????????????????是一個開放源碼的文件。

代碼實列:



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容