springboot xml转Bean

springboot xml转Bean

首先SpringBoot需要引入Xstream依赖


    com.thoughtworks.xstream
    xstream
    1.4.10

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

@XStreamAlias("d")
public class City {
    @XStreamAsAttribute
    @XStreamAlias("d1")
    private String cityId;

    @XStreamAsAttribute
    @XStreamAlias("d2")
    private String cityName;

    @XStreamAlias("d3")
    @XStreamAsAttribute
    private String cityCode;

    @XStreamAsAttribute
    @XStreamAlias("d4")
    private String province;

	@Override
	public String toString() {
		return "City [cityId=" + cityId + ", cityName=" + cityName + ", cityCode=" + cityCode + ", province=" + province
				+ "]";
	}
}

上面是Bean类

import java.util.List;

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

@XStreamAlias("c")
public class CityList {
    @XStreamImplicit(itemFieldName="d")
    private List cityList;

	public List getCityList() {
		return cityList;
	}

	public void setCityList(List cityList) {
		this.cityList = cityList;
	}
    
    
    
}

下面是转换javaBean的代码

import com.thoughtworks.xstream.XStream;

public class Util {

	public static Object toBean(Class clazz, String xml) {
        Object xmlObject = null;
            XStream xstream = new XStream();
            xstream.processAnnotations(clazz);
            xstream.autodetectAnnotations(true);
            xmlObject= xstream.fromXML(xml);
            return xmlObject;
    }
	
	public static void main(String[] args) {
		String str = "" + 
				"\r\n" + 
				"    \r\n" + 
				"    \r\n" + 
				"    \r\n" + 
				"";
		CityList c = (CityList)toBean(CityList.class,str);
		System.out.println(c.getCityList().get(0));
	}
}

更简单的方式参考:
https://blog.csdn.net/sheng_xinjun/article/details/80495778

你可能感兴趣的:(项目开发)