Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107801
  • 博文数量: 20
  • 博客积分: 1910
  • 博客等级: 上尉
  • 技术积分: 485
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-10 15:46
文章分类

全部博文(20)

文章存档

2013年(3)

2012年(4)

2011年(10)

2010年(1)

2009年(2)

我的朋友

分类: Java

2011-08-22 10:39:41

刚开始玩java,所以会记下一些非常简单浅显的学习笔记心得之类的东西。这样做的另一个原因是现在记忆力不太好了,需要在一个地方记下曾经做过的思考过的东西,以便于以后在某个时候想到增经做个某事并想偷懒时有一个地方能找到增经拥有的东西。
 
xml的普适性我不想多说,网上有无数的文章介绍这个。
 
言归正传,现在开始来说说如何用dom4j来操作xml文件。
 
dom4j是一个性能很好的开源软件,可以从其官方网站或sourceforge上下载。
 
 
用dom4j操作xml需要先import dom4j的库:
import org.dom4j.*;
import org.dom4j.io.*;
 
打开xml文件很容易,两行代码搞定:
SAXReader xmlReader = new SAXReader();
Document doc = xmlReader.read("f:/books.xml");
 
文件的访问操作都比较简单,这里就不多说了。dom4j的一个好处是可以直接使用xpath来选择节点。代码很简洁。下面的代码选择含有属性id=bk103的book节点:
Node node = doc.selectSingleNode("//catalog/book[@id='bk103']");
 
对于刚开始学习使用dom4j的人来说,有一个事情需要注意:xpath需要 jaxen-1.1-beta-6.jar库(包含在下载的dom4j包中),若没有import这个库,则会在使用xpath时抛出如下错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException

at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)

at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)

at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)

 
在eclipse中引入这个包的方法我现在知道两种,一种是在创建工程时import,第二种是在创建工程后,将其引用添加到工程的.classpath文件中。
 
.classpath其实是一个xml格式文件,其内容大致如下:


 
 
 path="F:/linux/workspace/dom4j-1.6.1/dom4j-1.6.1/lib/jaxen-1.1-beta-6.jar"/>
 <classpathentry kind="lib" path="F:/linux/workspace/dom4j-1.6.1/dom4j-1.6.1/dom4j-1.6.1.jar" sourcepath="F:/linux/workspace/dom4j-1.6.1/dom4j-1.6.1/src/java/org/dom4j"/>
 
 
可以根据这个文件的格式添加任何你想要的库,然后在eclipse中refresh你的工程。记住,refresh是必须的。
 
有关xpath,请参阅:
有关dom4j,请参阅:
 
第三种方法是: 鼠标右键单击Package Explorer中的工程名称,在弹出菜单中选择properties, 在properties对话框中选择Java Build Path, 在右边的选项卡中选择Libraries,然后再选Add External JARs...,添加所需的JAR包即可。
阅读(574) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~