2011-01-19 11 views
35

Sto usando SimpleXml per (de) serializzare POJO. Ora, ho un grande XML che ha alcuni elementi che non sono necessari. Ad esempio, con questo XML:Come ignorare gli elementi XML non utilizzati durante la deserializzazione di un documento?

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

Voglio creare un POJO che assomiglia a:

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

Il problema è che sto ricevendo questa eccezione:

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

So. .. come devo configurare il POJO in modo da poter analizzare correttamente l'XML?

risposta

84

Impostare strict su falso all'interno dell'annotazione di Root per ignorare qualsiasi elemento o attributo XML non presente nella classe.

@Root(strict=false) 

alternativa, impostare strict su false quando si legge il codice XML nel serialiser:

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

è possibile aggiungere (required = false) per un singolo elemento

@Element(required=false) 
private int statusCode; 

se hai più elementi usa

@Root(strict=false) 
Problemi correlati