public Item marshallItem(String xml) {
// TODO Auto-generated method stub
XStream xstream = new XStream();
xstream.alias("Item", Item.class);
return (Item) xstream.fromXML(xml);
}
第3行:
"项目"和Item.class是硬编码的值。
如果我必须编组Order xml,那么我必须编写一个新方法或if-else条件 实现。
如何使这个方法更通用,以便我可以将此方法用于多个类..
答案 0 :(得分:4)
这样的事情会做的事情:
public <T> T marshallItem(String xml, Class<T> clazz) {
XStream xstream = new XStream();
xstream.alias(clazz.getSimpleName(), clazz);
return (T) xstream.fromXML(xml);
}
调用此方法:
Item info = marshallItem("yourXml", Item.class);
答案 1 :(得分:1)
这样就可以了:
public <T> T marshall(String xml, Class<T> type) {
XStream xstream = new XStream();
xstream.alias(type.getSimpleName(), type);
return (T) xstream.fromXML(xml);
}
我希望它有所帮助!