
文章不錯,我取了里面的Document轉為String的方法,簡單,方便
?Dom4j應用總結
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章
原始出處
、作者信息和本聲明。否則將追究法律責任。
http://lavasoft.blog.51cto.com/62575/78450
<!--正文 begin-->
Dom4j應用總結
?
Dom4j是一個開源的java xml解析處理工具。是Java解析處理xml的首選工具。
?
要用好Dom4j,必須先理解xml DOM模型。舉個簡單例子說明下:
?
比如有個person.xml
<?
xml
version
="1.0"
encoding
="GBK"
?>
< person no ="234" >
???? < name >
???????? < firstname > 王 </ firstname >
???????? < lastname > 八 </ lastname >
???? </ name >
???? < age > 55 </ age >
???? < sex > Man </ sex >
</ person >
< person no ="234" >
???? < name >
???????? < firstname > 王 </ firstname >
???????? < lastname > 八 </ lastname >
???? </ name >
???? < age > 55 </ age >
???? < sex > Man </ sex >
</ person >
?
第一行是 XML 聲明。它定義 XML 的版本 (1.0) 和所使用的編碼GBK。
<person>是xml的根元素,no是<person>元素的一個屬性(Attribute),屬性值為234。屬性 (Attribute) 提供關于元素的額外信息。
<name>是一個<person>元素(Element)的子元素,<firstname>、<lastname>是其<name>的子元素,其值分別為“王、八”。呵呵。
通過這個xml,你可以知道王八的編號、姓名、年齡、性別。
?
?
DOM 把 XML 文檔作為樹結構來查看。能夠通過 DOM 樹來訪問所有元素??梢孕薷幕騽h除它們的內容,并創建新的元素。元素,它們的文本,以及它們的屬性,都被認為是節點(Node)。
?
Dom4j是XML DOM的一種實現。因此DOM的概念和思想在Dom4j是一樣的。
?
下面總結下DOM4j中常用的一些方法:
?
1、從文件獲取
Document
對象
xml是存儲內存活著硬盤等介質中的數據,必須經過讀取才能生成
Document
對象。
創建一個讀取工具,
SAXReader reader = SAXReader()
然后,讀取文檔
read(File file) 或者read(InputStream in) 來讀入并生成
Document
對象:
Document
document
= reader.read();
當然這個讀取工具很多,讀入的方式也很多,原理就是這樣的。
?
Document
document
= DocumentHelper.parseText(
String
text)
?
Node.asXML()
Node這個在這里是接口,其他Attribute, Branch, CDATA, CharacterData, Comment,
Document
, DocumentType, Element, Entity, ProcessingInstruction, Text都實現了Node接口,因此從這些對象上也可以使用asXML() 方法。
?
4、獲取xml文檔的根元素
Element rootElement =
document
.getRootElement()
?
5、有關Element的最常用到的api
attributeValue(
String
name) :獲取元素
String
值。
elementIterator() :返回元素的所有子元素的Iterator迭代器。
elements() :返回元素包含所有子元素List。
getParent() :獲取父元素Element。
getPath() :獲取自己的xpath。
detach() :移除自己。
getName() :獲取節點的名稱。
selectNodes(
String
xpathExpression) :通過XPATH獲取節點。
selectSingleNode(
String
xpathExpression) :通過XPATH獲取一個節點。
getDocument() :作為一個
Document
返回。
?
有空在繼續添加。
?
?
本文出自 “ 熔 巖 ” 博客,請務必保留此出處 http://lavasoft.blog.51cto.com/62575/78450
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
