Digester解析XML字段赋值
Posted ezi0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Digester解析XML字段赋值相关的知识,希望对你有一定的参考价值。
XML文件:
<?xml version="1.0" encoding="GBK" standalone="no" ?> <ROOT> <RETURN_CODE type="long">0</RETURN_CODE> <RETURN_MSG type="string">ok!</RETURN_MSG> <USER_MSG type="string">ok!</USER_MSG> <DETAIL_MSG type="string">OK!</DETAIL_MSG> <PROMPT_MSG type="string"/> <OUT_DATA> <DATA> <LIST> <LIST_INFO> <EFF_DATE type="string">20190222135846</EFF_DATE> <EXP_DATE type="string">20991231235959</EXP_DATE> <MAX_ORDER_NUM type="int">10</MAX_ORDER_NUM> <USED_ORDER_NUM type="int">0</USED_ORDER_NUM> <LIMIT_INFO> <LIMIT_FLAG type="string">X</LIMIT_FLAG> <EFF_DATE type="string">20190222135846</EFF_DATE> <EXP_DATE type="string">20991231235959</EXP_DATE> <NOTES type="string">xxxxx</NOTES> <LIST/> <RETURN_CODE type="string">403019589</RETURN_CODE> </LIMIT_INFO> </LIST_INFO> </LIST> </DATA> </OUT_DATA> </ROOT>
上面的XML中,LIST_INFO节点下存在两种属性:属性值是基本类型,比如EFF_DATE,EXP_DATE等;属性值是另一个节点,比如LIMIT_INFO。解析规则如下:
//基本数据类型:模式,字段名
digester.addBeanPropertySetter("ROOT/OUT_DATA/DATA/LIST/LIST_INFO/EFF_DATE", "effDate");
//引用数据类型:模式,相应setter方法
digester.addSetNext("ROOT/OUT_DATA/DATA/LIST/LIST_INFO/LIMIT_INFO", "setLimitInfo");
以上是关于Digester解析XML字段赋值的主要内容,如果未能解决你的问题,请参考以下文章
曹工说Tomcat2:自己撸一个简易Tomcat Digester
Apache Commons Digester 二(规则模块绑定-RulesModule异步解析-asyncParsexml变量Substitutor带参构造方法)