问题
I'm using SimpleXml to (de)serialize POJOs. Now, I have a big XML which has some elements which are not needed. For instance, with this XML:
<Root>
<Element>Used</Element>
<Another>Not used</Another>
<Root>
I want to create a POJO which looks like:
@Root
class Root{
@Element
private String element;
}
Problem is that I'm getting this Exception:
simpleframework.xml.core.ElementException: Element 'Another' does not have a
match in class blah.blah.Blah at line 1
So... how should I configure the POJO so that I can parse the XML correctly?
回答1:
Set strict
to false within the Root annotation to ignore any XML elements or attributes that do not appear in the class.
@Root(strict=false)
Alternatively, set strict
to false when you read the xml in the serialiser:
Root root = serializer.read(Root.class, source, false);
回答2:
you can add (required=false) to a single element
@Element(required=false)
private int statusCode;
if you have more elements use
@Root(strict=false)
来源:https://stackoverflow.com/questions/4740934/how-to-ignore-unused-xml-elements-while-deserializing-a-document