java中易于使用的几种xml读取工具
有时候需要简单的xml读取工具,读取子节点或者节点的属性。如果用正则表达式,比较麻烦,而且容易出错。
digester
apache commons项目中的digester,可以加入到maven中:
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.0</version>
</dependency>
代码编写很简单,比如有如下javabean:
package mypackage; public class Foo { public void addBar(Bar bar); public Bar findBar(int id); public Iterator getBars(); public String getName(); public void setName(String name); } package mypackage; public class Bar { public int getId(); public void setId(int id); public String getTitle(); public void setTitle(String title); }
现在可以将如下xml文档转为javabean的实例:
<foo name="The Parent"> <bar id="123" title="The First Child"/> <bar id="456" title="The Second Child"/> </foo>
代码片段:
Digester digester = new Digester(); digester.setValidating(false); digester.addObjectCreate("foo", "mypackage.Foo"); digester.addSetProperties("foo"); digester.addObjectCreate("foo/bar", "mypackage.Bar"); digester.addSetProperties("foo/bar"); digester.addSetNext("foo/bar", "addBar", "mypackage.Bar"); Foo foo = (Foo) digester.parse();
参见文档:
xstream
也是类似的工具,在android下通过xstream解析xml格式信息中已经演示了在android中的是使用。网址:
简单的官方教程:
相关日志
这篇文章上的评论 RSS feed TrackBack URI