Ошибка десериализации SimpleXML в Android - PullRequest
6 голосов
/ 04 апреля 2011

У меня проблема с десериализацией java-объекта.Для десериализации я использую SimpleXML .

@Root
public class A {
    @ElementList
    private ArrayList<B> b;

    getters, setters...
}  


public class B{
    @Element(name="C", required=false)
    private C c;

    getters, setters...
}  

public class C{
    private int id;
    private String name;

    getters, setters...
}  

Я получил XML, который имеет следующее поле:

<A>
   <B>
       <C i:nil="true" />
   </B>
</A>

Dalvink выдает следующее исключение: org.simpleframework.xml.core.AttributeException: Атрибут 'nil' не соответствует в классе B в строке -1

Есть ли какие-либо идеи для решения?Спасибо.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Обычно нулевой контент представлен атрибутом

xsi:nil="true"

, если вы пытаетесь это сделать здесь.

1 голос
/ 04 апреля 2011

Вы должны добавить в свой класс C свойство:

@Attribute(name = "i:nil")
boolean myProperty;
...