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

我想使用@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可以帮助我,等等)?谢谢.

最佳答案 我的解决方案是不要使用路径.

我只使用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可选元素.

点赞