2011-01-19 41 views
35

我正在使用SimpleXml來(de)序列化POJO。現在,我有一個很大的XML,它有一些不需要的元素。例如,與該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?

回答

84

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

@Root(strict=false) 

備選地,設置strict爲假時,在serialiser讀取xml:

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

可以添加(所需=假)到單個元件

@Element(required=false) 
private int statusCode; 

如果你有更多的元素使用

@Root(strict=false)