java xml-deserialization simple-framework

java - ¿Cómo ignorar los elementos XML no utilizados mientras se deserializa un documento?



xml-deserialization simple-framework (2)

Estoy usando SimpleXml para (de) serializar POJOs. Ahora, tengo un gran XML que tiene algunos elementos que no son necesarios. Por ejemplo, con este XML:

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

Quiero crear un POJO que se vea así:

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

El problema es que estoy recibiendo esta excepción:

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

Entonces ... ¿cómo debo configurar el POJO para que pueda analizar correctamente el XML?


Establezca de strict a falso dentro de la anotación raíz para ignorar cualquier elemento o atributo XML que no aparezca en la clase.

@Root(strict=false)

Alternativamente , establezca de strict a falsa cuando lea el xml en el serialiser :

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


puedes agregar (requerido = falso) a un solo elemento

@Element(required=false) private int statusCode;

si tienes más elementos usa

@Root(strict=false)