【发布时间】:2014-01-03 05:19:11
【问题描述】:
假设我有一个如下所示的 xml 文件:
<list>
<item>
<id>123</id>
<name>someName</name>
</item>
<item>
<id>234</id>
<name>anotherName</name>
</item>
<item>
<id>345</id>
<name>aThirdName</name>
</item>
</list>
我使用 XStream 和以下类对其进行解析:
class ListXML {
public List<ItemXML> list;
}
class ItemXML {
public String id;
public String name;
}
以及以下代码:
XStream xstream = new XStream(new DomDriver());
xstream.alias("list", ListXML.class);
xstream.alias("item", ItemXML.class);
xstream.addImplicitCollection(ListXML.class, "item");
ListXML result = (ListXML) xstream.fromXML(in);
到目前为止一切顺利。但是,我现在遇到了一个案例,其中输入了以下 xml:
<list>
<item>
<id>123</id>
<name>someName</name>
</item>
<item>
<id>234</id>
<aTagUnknownToMe>blabla</aTagUnknownToMe>
</item>
<item>
<id>345</id>
<name>aThirdName</name>
</item>
</list>
有没有办法将我的代码更改为“更健壮”,这样我就可以在不知道“aTagUnknownToMe”标签的情况下获取 id 为 123 和 345 的项目?
【问题讨论】: