java - simpleframework xml example




如何在反序列化文檔時忽略未使用的XML元素? (2)

我正在使用SimpleXml來(de)序列化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?


在Root註釋中將strict設置為false,以忽略未出現在類中的任何XML元素或屬性。

@Root(strict=false)

或者 ,在讀取serialiser的xml時將strict設置為false:

Root root = serializer.read(Root.class, source, false);

您可以將(required = false)添加到單個元素

@Element(required=false)
private int statusCode;

如果你有更多的元素使用

 @Root(strict=false)




simple-framework