Java离不开xml配置文件,而Apache的Digester是解析xml的一个很好的工具。
Digester的运行依赖下列包:
一个遵循Jaxp(1.1版本及以后)的XML解析器
Jakarta commons beanutils包(1.5版本及以后)
Jakarta commons collections包(2.1版本及以后)
Jakarta commons logging包(1.0.2版本及以后)
(请到 http://www.apache.org 下载运行环境)
下面,是我的一个用digester解析xml配置文件的例子.
//--webconfig.xml--
<?xml version="1.0" encoding="UTF-8"?>
<web>
<root name = "root_name1">
<bar id="0" title="The Zero Child"/>
<bar id="123" title="The First Child"/>
<bar id="456" title="The Second Child"/>
</root>
<root name = "root_name2">
<bar id="789" title="Another Child"/>
</root>
</web>
分析该文件,发现如下的层次结构web-> root -> bar
因此,我们先建立三个映射的JavaBean:WebConfig.java ,Root.java, Bar.java
//--Bar--.java
package com.stru.config;
public class Bar {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
//--Root--.java
package com.stru.config;
import java.util.HashMap ;
public class Root {
Digester的运行依赖下列包:
一个遵循Jaxp(1.1版本及以后)的XML解析器
Jakarta commons beanutils包(1.5版本及以后)
Jakarta commons collections包(2.1版本及以后)
Jakarta commons logging包(1.0.2版本及以后)
(请到 http://www.apache.org 下载运行环境)
下面,是我的一个用digester解析xml配置文件的例子.
//--webconfig.xml--
<?xml version="1.0" encoding="UTF-8"?>
<web>
<root name = "root_name1">
<bar id="0" title="The Zero Child"/>
<bar id="123" title="The First Child"/>
<bar id="456" title="The Second Child"/>
</root>
<root name = "root_name2">
<bar id="789" title="Another Child"/>
</root>
</web>
分析该文件,发现如下的层次结构web-> root -> bar
因此,我们先建立三个映射的JavaBean:WebConfig.java ,Root.java, Bar.java
//--Bar--.java
package com.stru.config;
public class Bar {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
//--Root--.java
package com.stru.config;
import java.util.HashMap ;
public class Root {