- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
dom4j(Version 1.6.1)快速入门
Parsing?XML
????或许你想要做的第一件事情就是解析一个某种类型的XML文档,用dom4j很容易做到。请看下面的示范代码:import?java.net.URL;import?org.dom4j.Document;import?org.dom4j.DocumentException;import?org.dom4j.io.SAXReader;public?class?Foo?{????public?Document?parse(URL?url)?throws?DocumentException?{????????SAXReader?reader?=?new?SAXReader();????????Document?document?=?reader.read(url);????????return?document;????}}
使用迭代器(Iterators)????我们可以通过多种方法来操作XML文档,这些方法返回java里标准的迭代器(Iterators)。例如:public?void?bar(Document?document)?throws?DocumentException?{????????Element?root?=?document.getRootElement();????????//迭代根元素下面的所有子元素????????for?(?Iterator?i?=?root.elementIterator();?i.hasNext();?)?{????????????Element?element?=?(Element)?i.next();????????????//处理代码????????}????????//迭代根元素下面名称为foo的子元素????????for?(?Iterator?i?=?root.elementIterator(?foo?);?i.hasNext();?)?{????????????Element?foo?=?(Element)?i.next();????????????//处理代码????????}????????//?迭代根元素的属性attributes)元素????????for?(?Iterator?i?=?root.attributeIterator();?i.hasNext();?)?{????????????Attribute?attribute?=?(Attribute)?i.next();????????????//?do?something????????}?????}
强大的XPath导航????在dom4j中XPath可以表示出在XML树状结构中的Document或者任意的节点(Node)(例如:Attribute,Element?或者ProcessingInstruction等)。它可以使在文档中复杂的操作仅通过一行代码就可以完成。例如:public?void?bar(Document?document)?{????????List?list?=?document.selectNodes(?//foo/bar?);????????Node?node?=?document.selectSingleNode(?//foo/bar/author?);????????String?name?=?node.valueOf(?@name?);????}????如果你想得到一个XHTML文档中的所有超文本链接(hypertext?links)你可以使用下面的代码:????public?void?findLinks(Document?document)?throws?DocumentException?{????????List?list?=?document.selectNodes(?//a/@href?);????????for?(Iterator?iter?=?list.iterator();?iter.hasNext();?)?{????????????Attribute?attribute?=?(Attribute)?iter.next();????????????String?url?=?attribute.getValue();????????}????}????如果你需要关于XPath语言的任何帮助,我们强烈推荐这个站点Zvon?tutorial他会通过一个一个的例子引导你学习。
快速遍历(Fast?Looping)如果你不得不遍历一个非常大的XML文档,然后才去执行,我们建议你使用快速遍历方法(fast?looping?met
文档评论(0)