36

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をどのように構成する必要がありますか?

4

2 に答える 2

87

strictクラスに表示されないXML要素または属性を無視するには、Rootアノテーション内でfalseに設定します。

@Root(strict=false)

または、シリアライザーstrictでxmlを読み取るときにfalseに設定 します。

Root root = serializer.read(Root.class, source, false);
于 2011-01-19T22:13:34.213 に答える
4

単一の要素に(required = false)を追加できます

@Element(required=false)
private int statusCode;

より多くの要素がある場合は

 @Root(strict=false)
于 2015-03-01T15:22:25.573 に答える