Java 如何使用XStream(部分)反序列化有错误的xml
假设我有一个如下所示的xml文件:Java 如何使用XStream(部分)反序列化有错误的xml,java,xml,xstream,Java,Xml,Xstream,假设我有一个如下所示的xml文件: <list> <item> <id>123</id> <name>someName</name> </item> <item> <id>234</id> <name>anotherName</name> </item> <item> <id>345<
<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>
到目前为止还不错。但是,我现在遇到了一个案例,其中输入了以下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>
123
名字
234
布拉布拉
345
阿蒂尔名称
是否有办法将我的代码更改为“更健壮”,这样我就可以在不知道“atagunnowntome”标记的情况下获得id为123和345的项目?是的,您可以
XStream xstream = new XStream();
xstream.ignoreUnknownElements();
或
这些方法从XStream 1.4.5开始就可用
<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>
XStream xstream = new XStream();
xstream.ignoreUnknownElements();
XStream xstream = new XStream();
xstream.ignoreUnknownElements("somePattern");