Xstream 解析xml文件内容

刚刚接手的一个项目,接到一个对接用户数据的需求,对方使用的是xml格式来传输文件,特此记下解析该类文件的方法

public interface XmlResolver<T> {
	XStream builder();

	default T parse(String xml){
		return (T) builder().fromXML(xml);
	}

	default T resolver(String xml){
		return parse(xml);
	}
}
    //测试类
public class TestMain {

	private String name;
	private String address;
	private List<TestPerson> personList;

	public static void main(String[] args) {
		XmlResolver<TestMain> testMainXmlResolver = () -> {
			{
				XStream xStream = new XStream();
				xStream.alias("GetInvoiceResult", TestMain.class);
				xStream.alias("ItemRecord", TestPerson.class);
				return xStream;
			}
		};

	   String xml = "<GetInvoiceResult>\n" +
				"        <name>string</name>\n" +
				"        <address>string</address>\n" +
				"        <personList>\n" +
				"          <ItemRecord>\n" +
				"            <name>string</name>\n" +
				"            <age>string</age>\n" +
				"          </ItemRecord>\n" +
				"          <ItemRecord>\n" +
				"            <name>string</name>\n" +
				"            <age>string</age>\n" +
				"          </ItemRecord>\n" +
				"        </personList>\n" +
				"      </GetInvoiceResult>\n"
				;
		TestMain testMain = testMainXmlResolver.parse(xml);
		System.out.println(testMain);
	}
}
posted @ 2018-04-15 19:11  SheaChen  阅读(3278)  评论(0编辑  收藏  举报