我收到这个
<header><h1>001</h1><h2>002</h2></header>
我的调度员看起来像这样
<bean id="annotatedMarshaller" class="org.springframework.oxm.xstream.AnnotationXStreamMarshaller">
<property name="annotatedClasses">
<list>
<value>someClasses</value>
<value>someClasses</value>
<value>someClasses</value>
</list>
</property>
</bean>
在这里我尝试使用 XstreamMarshaller 中的 unmarchal 方法并返回要转换的对象
public static Object deserializeXml(String xml) {
StringReader sr =new StringReader(xml);
StreamSource ss=new StreamSource(sr);
Object o=null;
try {
o = xStreamMarshaller.unmarshal(ss);
} catch (XmlMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return o;
}
当我意识到 unmarshal 方法将给定的对象编组为给定的 javax.xml.transform.Result 而不是像 XStream 中的 fromXml 方法那样简单的 String 时,问题就来了。
多亏了这个,我想出了如何从字符串中获取结果对象,但不确定是否是最好的方法。