标签:
刚认识Digester,记录一下:
Digester随着Struts的发展以及其的公用性而被提到commons中独自立项,是apache的一个组件 apache commons-digester.jar,通过它可以很方便的从xml文件生成java对象.你不用再象以前通过jdom或者Xerces去读取一个document对象.(jdom和Xerces仍然有它们的用武之地及强大之处,在其它应用里你也少不了它们)
工作原理如下: Digester底层采用SAX(Simple API for XML)析XML文件,所以对象转换由"事件"驱动,在遍历每个节点时,检查是否有匹配模式,如果有,则执行规则定义的操作,比如创建特定的Java对象,或调用特定对象的方法等。此处的XML元素根据匹配模式(matching pattern)识别,而相关操作由规则(rule)定义。
Test.xml文件
<identity> <ldap> <name>hao123</name> <url>https://www.hao123.com/</url> </ldap> </identity>
Identity 类
private String name;
private String url;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
提取xml数据,赋值给Test类
InputStream is = IdentityUtil.class.getResourceAsStream("/test.xml");//读取xml文件 Identity id = new Identity(); //将xml文件的数据添加到对象中 Digester d = new Digester(); d.push(id); d.addCallMethod("identity/ldap/name","setName",0); d.addCallMethod("identity/ldap/url","setUrl",0); d.parse(is);
标签:
原文地址:http://www.cnblogs.com/hl-m-lemontree/p/5908662.html