Android 中的 SimpleXML 反序列化错误

发布于 2024-10-30 03:26:08 字数 698 浏览 1 评论 0原文

我在反序列化 java-object 时遇到问题。对于反序列化,我使用 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”在第 -1 行的 B 类中没有匹配项

有解决方案的想法吗? 谢谢。

I have problem with deserialization java-object. For deserialization I use 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...
}  

I receiving XML, which have next field:

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

Dalvink throws next exception: org.simpleframework.xml.core.AttributeException: Attribute 'nil' does not have a match in class B at line -1

Are there any ideas for solution?
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

叶落知秋 2024-11-06 03:26:08

你应该向你的 C 类添加一个属性:

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

you should add to your C class a property:

@Attribute(name = "i:nil")
boolean myProperty;
祁梦 2024-11-06 03:26:08

通常会使用属性呈现空内容。

xsi:nil="true"

如果您想在此处执行此操作,

Usually null content is presented with

xsi:nil="true"

attribute if that's what you're trying to do here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文