xStream 将xml转为javaBean
2016-11-02 16:08
253 查看
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());
}
<?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());
}
相关文章推荐
- spring boot 自动装配 及xstream XML转为JAVA对象注意补充:xstream.setClassLoader(this.getClass().getClassLoader());
- 用XStream读取XML解析成javabean
- Android 用 XStream 将复杂xml解析为javabean
- JavaBean到xml和json-----xstream
- xml转为javaBean
- Xml字符串和Java对象转换利器——XStream
- XStream转换Java对象与XML
- java 生成xml并转为字符串
- xstream java 转换为xml
- 使用XStream是实现XML与Java对象的…
- Java 利用Xstream 解析 XML
- 使用XStream是实现XML与Java对象的转换(5)--Object Stream
- JavaBean转Xml与Xml转JavaBean
- XML 的 SAX 解析范例:将数据封装至javaBean
- xstream简介(bean与xml转换工具)
- XML解析与Bean转换,XStream-工具类
- Spring基础篇——通过Java注解和XML配置装配bean
- java 生成xml并转为字符串的方法
- 将javaBean转换成XML
- dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合