gpt4 book ai didi

带有可选字段的 Android SimpleXml 序列化

转载 作者:行者123 更新时间:2023-11-29 22:11:17 26 4
gpt4 key购买 nike

我正在尝试将 SimpleXml 库集成到我正在处理的项目中。有没有一种方法可以将模型序列化为 XML,其中某些字段是可选的。无法从文档中弄清楚。

最佳答案

您应该使用已定义类型的对象表示:

双 -> 双整数 -> 整数

这允许您像这样将它们定义为空:

@Root(name = "someWS")
public class GetSmth{
@Element(name="Latitude", required=false)
private Double latitude;

@Element(name="Longtitude", required=false)
private Double longtitude;

@Element(name="PageNumber", required=false)
private Integer pageNumber;

@Element(name="PageSize", required=false)
private Integer pageSize;

@Element(name="CompanyDetailId")
private Integer companyDetailId;


public GetSmth(Double latitude, Double longtitude, Integer pageNumber,
Integer pageSize, Integer companyDetailId) {
this.latitude = latitude;
this.longtitude = longtitude;
this.pageNumber = pageNumber;
this.pageSize = pageSize;
this.companyDetailId = companyDetailId;
}
}

审查 documentation , required=false 更多的是对象反序列化而不是对象序列化。因此,您可以在那里使用原始类型,但这样做需要您在赋值期间使用非空值。反序列化后,如果您的 xml 未定义纬度,纬度将被赋予默认初始值 0 而不是 null。仅取决于您想要的行为。

编辑:

一定要用对象表示来定义构造函数:

public GetSmth(Double latitude, Double longtitude, Integer pageNumber, 
Integer pageSize, Integer companyDetailId)

关于带有可选字段的 Android SimpleXml 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9570326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com