zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    行编辑
    二叉树
    多项式乘法
    引用标准库查看当前目录
    双向链表
    哈希表查找
    perl模块
    顺序栈实现
    C#中访问注册表
    查看perl的版本、配置和库信息
  • 原文地址:https://www.cnblogs.com/Ezi0/p/10462883.html
Copyright © 2011-2022 走看看