dom4j处理XML的一些经验

一周时间,基本上完成了我称之为PfwBuilder的工具,生成公司pfw的配置文件,虽没有用到什么模式的思想,但是把几个不太熟悉的Java领域练了一遍,周末的时间,写点心得之类的东西,记录一下这周的收获吧。

首先就是第一次用XML,对很多东西都不太熟悉,用了以后感觉要好一点了,常用的XML的工具主要有 Apache Xerces dom4j.org dom4j,我选择的是 dom4j 比较轻巧,而且有一些自己需要的功能。

操作一个XML时我们常会用到这些东西:

Document 每个被解析的XML文档都会有一个单独的Document节点,该节点提供对文档类型信息和单独的顶级Element节点的访问。

Element 该节点是组成文档主体的 Text, Comment, EntityReference CDATASection 节点的父节点,该节点允许对Attr对象的访问。

如:<name>Jack</name> 就是一个Element,其 name nameText Jack

Attr 该对象存放了Element下的属性值

如:<name show=”on”>Jack</name> 中的 show=”on”就是一个Attr name show valueon

还有一个Node,没弄太清楚这到底是干什么的,好像既能表示 Element,又能表示 Attr

我们通常会把 *.xml 的配置文件放在一个和 class 放在一起的文件夹里,但是访问的时候如何获取这个路径,这个问题折磨了我一个上午的时间。

最后请教 IC 那边的同事才找到解决办法,写了这样的一个方法,这样不管这些class文件在什么地方,获取的都是class的根文件夹。

private String getDbConfigFile()

{

ClassLoader loader = Thread.currentThread().getContextClassLoader();

URL sourceUrl = loader.getResource(DB_CONFIG_FILE);

return sourceUrl.getFile();

}

还有就是dom4j的格式化XML,这个功能很有意思,我也很喜欢。

OutputFormat format = OutputFormat.createPrettyPrint(); // 格式化输出

format.setIndent("/t"); // 使用TAB缩进

XMLWriter writer = new XMLWriter(new FileWriter(this.getDbConfigFile()), format);

writer.write(document); //输出到文件

writer.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值