Android - XML序列化 - simpleframework - 带有可选元素的路径(required = false) - 如何隐藏Null值元素?

时间:2015-07-02 09:17:42

标签: android xml-serialization optional simple-framework

我想使用@PATH来保持我的元素顺序,但是,有一些可选元素(required = false),当它们的值为NULL时我无法隐藏这些元素。

@Order(elements={"Name", "Nickname"})
public class InfosType
{
    @Element
    @Path("Name")
    private String name;
    @Element(required=false)
    @Path("Nickname")
    private String nickname;
}

即使nickname = NULL,xml文件也总是有昵称字段:

<Name>David</Name>    
<Nickname/>

但我想要这个:

<Name>David</Name>    

我的目标是序列化xml文件并保持命令我的可选元素。

对我有任何建议(适用于Android的内容,如simpleframework可以帮助我,等等)?感谢。

1 个答案:

答案 0 :(得分:2)

我的解决方案是不要使用路径。 我只使用Order注释。

@Order(elements={"Name", "Nickname"})
public class InfosType
{
    @Element(required = true,  name = "Name")
    private String name;
    @Element(required = false, name = "Nickname")
    private String nickname;
}

因为现在simpleframework不会序列化NULL可选元素。