XML 指可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language)递宅,是獨(dú)立于軟件和硬件的信息傳輸工具淘太,應(yīng)用于 web 開發(fā)的許多方面行嗤,常用于簡(jiǎn)化數(shù)據(jù)的存儲(chǔ)和共享。
當(dāng)在xml中某一段內(nèi)容想作為普通信息看待砚偶,而其中又出現(xiàn)了大量的xml敏感字符時(shí)挪钓,使用格式:
< ! [ CDATA [ 文本內(nèi)容 ] ] >
xml注釋使用格式:<!--This is a comment-->
我們使用XML語(yǔ)言存儲(chǔ)信息是越,以實(shí)現(xiàn)數(shù)據(jù)與程序的分離。
為方便測(cè)試碌上,定義一個(gè)Emp類:
創(chuàng)建一個(gè).xml文件,有以下內(nèi)容:
解析XML的大致步驟:
1)創(chuàng)建SAXReader
2)使用SAXReader讀取XML文檔并生成Document對(duì)象馏予,這一步就是DOM解析耗時(shí)耗資源的地方天梧,因?yàn)橐葘ML文檔全部讀取并轉(zhuǎn)換為一個(gè)Document對(duì)象保存到內(nèi)存。
3)通過(guò)Document獲取根元素
4)通過(guò)根元素按照XML的結(jié)構(gòu)逐級(jí)獲取子元素霞丧,以達(dá)到遍歷XML文檔數(shù)據(jù)的目的
常用方法:
Document提供了獲取根元素的方法:
Element getRootElement()----Element的每一個(gè)實(shí)例用于表示XML文檔中的一對(duì)標(biāo)簽呢岗。
Element也提供了獲取標(biāo)簽相關(guān)信息的方法:
String getName()----獲取當(dāng)前元素的名字
Element element(String name)----獲取當(dāng)前元素中指定名字的子元素
List elements()----獲取當(dāng)前元素中所有子元素
List elements(String name)----獲取當(dāng)前元素中所有同名子元素
String getText()----獲取元素中間的文本,開始標(biāo)簽與結(jié)束標(biāo)簽中間的文本信息
String elementText(String name)----獲取當(dāng)前元素中指定名字子元素中間的文本
? ? 例如:ele.element("xx").getText()等同于:ele.elementText("xx")
Attribute attribute(String name)----獲取當(dāng)前元素中指定名字的屬性
Attribute的每一個(gè)實(shí)例用于表示一個(gè)屬性,常用方法:
String getName()----獲取屬性名
String getValue()----獲取屬性值
生成XML文檔的大致步驟:
1)創(chuàng)建一個(gè)Document對(duì)象
2)向Document對(duì)象中添加根元素
3)向根元素中逐級(jí)追加子元素以形成XML文檔結(jié)構(gòu)
4)創(chuàng)建XmlWriter
5)通過(guò)XmlWriter寫出Document對(duì)象以形成xml文檔
6)關(guān)閉XmlWriter
Document提供添加根元素的方法:Element addElement(String name)
添加給定名字的根元素蛹尝,并將其以Element實(shí)例形式返回后豫,以便基于根元素繼續(xù)追加操作。
需要注意突那,該方法只能調(diào)用一次挫酿,因?yàn)橐粋€(gè)文檔中只能有一個(gè)根元素。
Element提供了向當(dāng)前元素中添加信息的相關(guān)方法:
1)Element addElement(String name)
向當(dāng)前元素中添加給定名字的子元素,并將該子元素以一個(gè)Element實(shí)例形式返回陨收,便于
繼續(xù)對(duì)子元素追加信息
2)Element addText(String text)
向當(dāng)前元素中添加文本,返回值為當(dāng)前元素饭豹,便于對(duì)當(dāng)前元素繼續(xù)其他操作
3)Element addAttribute(String name,String value)
向當(dāng)前元素中添加指定名字及對(duì)應(yīng)值的屬性
XPath 是一門在 XML 文檔中查找信息的語(yǔ)言。XPath 可用來(lái)在 XML 文檔中對(duì)元素和屬性進(jìn)行遍歷务漩。