36

我正在使用 SimpleXml 来(反)序列化 POJO。现在,我有一个很大的 XML,其中包含一些不需要的元素。例如,使用这个 XML:

<Root>
   <Element>Used</Element>
   <Another>Not used</Another>
<Root> 

我想创建一个 POJO,如下所示:

@Root
class Root{
    @Element
    private String element;
}

问题是我得到了这个异常:

simpleframework.xml.core.ElementException: Element 'Another' does not have a
match in class blah.blah.Blah at line 1

那么...我应该如何配置 POJO 以便正确解析 XML?

4

2 回答 2

87

Set strict to false within the Root annotation to ignore any XML elements or attributes that do not appear in the class.

@Root(strict=false)

Alternatively, set strict to false when you read the xml in the serialiser:

Root root = serializer.read(Root.class, source, false);
于 2011-01-19T22:13:34.213 回答
4

您可以将 (required=false) 添加到单个元素

@Element(required=false)
private int statusCode;

如果你有更多元素使用

 @Root(strict=false)
于 2015-03-01T15:22:25.573 回答