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

Anh*_*Mai 5 android xml-serialization simple-framework option-type

我想使用 @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;
}
Run Code Online (Sandbox Code Playgroud)

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

<Name>David</Name>    
<Nickname/>
Run Code Online (Sandbox Code Playgroud)

但我想要这个:

<Name>David</Name>    
Run Code Online (Sandbox Code Playgroud)

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

对我有什么建议吗(Android 的一些东西,比如 simpleframework 可以帮助我,等等)?谢谢。

Anh*_*Mai 3

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

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

从现在起,simpleframework 将不会序列化 NULL 可选元素。