加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xStream 将xml转为javaBean

发布时间:2020-12-16 02:13:27 所属栏目:百科 来源:网络整理
导读:1、xml格式 ?xml version="1.0" encoding="utf-8"? MbfBody tZmdifs319 cmmdtyCode000000000183585090/cmmdtyCodeDISTRIBUTE_SYSFIMS,LOBA/DISTRIBUTE_SYS /tZmdifs319 tZmdifs325 cmmdtyCode000000000183585090/cmmdtyCode businessFieldPRMT_TMPL_CODE/bus

1、xml格式

<?xml version="1.0" encoding="utf-8"?>  
<MbfBody>   
    <tZmdifs319>    
		<cmmdtyCode>000000000183585090</cmmdtyCode>
		<DISTRIBUTE_SYS>FIMS,LOBA</DISTRIBUTE_SYS>
   </tZmdifs319>   
   <tZmdifs325>
    <cmmdtyCode>000000000183585090</cmmdtyCode>
    <businessField>PRMT_TMPL_CODE</businessField>
    <keywordCode>000001</keywordCode>
    <businessFieldDesc>0053749</businessFieldDesc>
   </tZmdifs325>
</MbfBody>

2、项目添加jar包

<dependency>
	<groupId>com.thoughtworks.xstream</groupId>
	<artifactId>xstream</artifactId>
	 <version>1.4.2</version>
</dependency>
3、根据xml层级写dto
import com.thoughtworks.xstream.annotations.XStreamAlias;

public class DistributeSysInfo {
    //与xml里字段不一致时加注解
    @XStreamAlias("DISTRIBUTE_SYS")
    private String distributeSys; 

    private String cmmdtyCode;

    /**
     * 获取distributeSys
     * 
     * @return distributeSys distributeSys
     */
    public String getDistributeSys() {
        return distributeSys;
    }

    /**
     * 设置distributeSys
     * 
     * @param distributeSys distributeSys
     */
    public void setDistributeSys(String distributeSys) {
        this.distributeSys = distributeSys;
    }

    /**
     * 获取cmmdtyCode
     * 
     * @return cmmdtyCode cmmdtyCode
     */
    public String getCmmdtyCode() {
        return cmmdtyCode;
    }

    /**
     * 设置cmmdtyCode
     * 
     * @param cmmdtyCode cmmdtyCode
     */
    public void setCmmdtyCode(String cmmdtyCode) {
        this.cmmdtyCode = cmmdtyCode;
    }

}


public class CmmdtyOtherInfo {
    private String cmmdtyCode;
    private String businessField;
    private String keywordCode;
    private String businessFieldDesc;

    /**
     * 获取cmmdtyCode
     * 
     * @return cmmdtyCode cmmdtyCode
     */
    public String getCmmdtyCode() {
        return cmmdtyCode;
    }

    /**
     * 设置cmmdtyCode
     * 
     * @param cmmdtyCode cmmdtyCode
     */
    public void setCmmdtyCode(String cmmdtyCode) {
        this.cmmdtyCode = cmmdtyCode;
    }

    /**
     * 获取businessField
     * 
     * @return businessField businessField
     */
    public String getBusinessField() {
        return businessField;
    }

    /**
     * 设置businessField
     * 
     * @param businessField businessField
     */
    public void setBusinessField(String businessField) {
        this.businessField = businessField;
    }

    /**
     * 获取keywordCode
     * 
     * @return keywordCode keywordCode
     */
    public String getKeywordCode() {
        return keywordCode;
    }

    /**
     * 设置keywordCode
     * 
     * @param keywordCode keywordCode
     */
    public void setKeywordCode(String keywordCode) {
        this.keywordCode = keywordCode;
    }

    /**
     * 获取businessFieldDesc
     * 
     * @return businessFieldDesc businessFieldDesc
     */
    public String getBusinessFieldDesc() {
        return businessFieldDesc;
    }

    /**
     * 设置businessFieldDesc
     * 
     * @param businessFieldDesc businessFieldDesc
     */
    public void setBusinessFieldDesc(String businessFieldDesc) {
        this.businessFieldDesc = businessFieldDesc;
    }

}
import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("MbfBody")//节点注解
public class DistributeArticleBDateIn {
    @XStreamAlias("tZmdifs319")//节点注解,子节点对应的javaBean与节点名一致就不用注解
    private DistributeSysInfo       distributeSysInfo;
    @XStreamAlias("tZmdifs325")//节点注解,子节点对应的javaBean与节点名一致就不用注解
    private CmmdtyOtherInfo         cmmdtyOtherInfo;

    /**
     * 获取distributeSysInfo
     * 
     * @return distributeSysInfo distributeSysInfo
     */
    public DistributeSysInfo getDistributeSysInfo() {
        return distributeSysInfo;
    }

    /**
     * 设置distributeSysInfo
     * 
     * @param distributeSysInfo distributeSysInfo
     */
    public void setDistributeSysInfo(DistributeSysInfo distributeSysInfo) {
        this.distributeSysInfo = distributeSysInfo;
    }   
    /**
     * 获取cmmdtyOtherInfo
     * 
     * @return cmmdtyOtherInfo cmmdtyOtherInfo
     */
    public CmmdtyOtherInfo getCmmdtyOtherInfo() {
        return cmmdtyOtherInfo;
    }

    /**
     * 设置cmmdtyOtherInfo
     * 
     * @param cmmdtyOtherInfo cmmdtyOtherInfo
     */
    public void setCmmdtyOtherInfo(CmmdtyOtherInfo cmmdtyOtherInfo) {
        this.cmmdtyOtherInfo = cmmdtyOtherInfo;
    }

}


4、转化
 public static void main(String[] args) {
        XStream x = new XStream();
        x.processAnnotations(DistributeArticleBDateIn.class);
        DistributeArticleBDateIn out = (DistributeArticleBDateIn) x.fromXML(new File("E:product.xml"));
        //System.out.println(JacksonMapper.beanToJson(out));
        System.out.println(out.getDistributeSysInfo().toString());
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读