SimpleXmlを使用してPOJOを(逆)シリアル化します。今、私は必要のないいくつかの要素を持っている大きな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
では... XMLを正しく解析できるようにPOJOをどのように構成する必要がありますか?
Rootアノテーション内でstrict
をfalseに設定して、クラスに表示されないXML要素または属性を無視します。
@Root(strict=false)
あるいは、 シリアライザー のxmlを読み取るときにstrict
をfalseに設定します。
Root root = serializer.read(Root.class, source, false);
単一の要素に(required = false)を追加できます
@Element(required=false)
private int statusCode;
より多くの要素がある場合は
@Root(strict=false)