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)