Xstream转换xml到Object的特殊情况

以前转换的时候从来没有遇到过问题。。


今天(准确说是昨天晚上)遇到了一个无法理解的问题。


以前在遇到如下XML时:

<tests>
	<desc>测试例子</desc>
	<ts>
		<test>
			<id>132</id>
		</test>
		<test>
			<id>133</id>
		</test>
		<test>
			<id>134</id>
		</test>
	<ts>
</tests>



会写一个Tests类,包含String desc和List<Test> ts,类Test有一个int id...这样转的时候是没有任何问题的。


当遇到如下XML时:

<tests>
	<test>
		<id>132</id>
	</test>
	<test>
		<id>133</id>
	</test>
	<test>
		<id>134</id>
	</test>
</tests>


我创建了一个Tests类,含有一个List<Test>,无论如何都转不过去....


最后实在没办法,先用对象去生成xml,最后发现自己太容易形成定向思维了。。


其实,下面的这个XML处理起来更方便。只需要一个Test对象,使用List<Test>即可.....

如下:

		String string = "<tests><test><id>132</id></test><test><id>133</id></test><test><id>134</id></test></tests>";
		
		XStream xstream = new XStream();
		xstream.alias("tests", ArrayList.class);
		xstream.alias("test", Test.class);
		
		List<Test> tests = (List<Test>)xstream.fromXML(string);


如此简单的方式,我竟然浪费了这么长的时间.......唉...不能再浪费了。





原文地址:https://www.cnblogs.com/xinyuyuanm/p/2992016.html