我想简单地使用XMLBeam(https://xmlbeam.org)
进行XML处理所以我有这个XML:
<column>
<name>myname1</name>
</column>
<column trimvalue="true">
<name>myname2</name>
</column>
和这个XMLBeam接口类
interface Column {
@XBRead("name")
String getName();
@XBRead("@trimvalue")
Boolean getTrimValues();
}
如您所见,只有第二列具有属性trimvalue
。
如何在没有更改XML的情况下使用XMLBeam 将默认值设置为false
。
目前,我总是要在实用程序方法中检查getTrimValues()!=null && getTrimValues()==true
,但我想知道你是否可以在XMLBeam中实现默认值,可能是这样的:
@XBRead("@trimvalue")
@XBDefaultValue(false) <== THIS Annotation does not exist, this is just an idea
Boolean getTrimValues();
谢谢你, schube
答案 0 :(得分:0)
我建议的方法是使用XMLSchema并将默认值放在架构中。有关如何在XMLBeam project site上执行此操作的教程。
但在您的情况下,只需从Boolean
更改为boolean
即可。它永远不会返回null
,false
是默认值。
如果您再次遇到此问题,可能使用其他类型,请查看the API docs。您可以更改任何类型的类型转换,并根据需要更改默认值。 Here是自定义类型转换的示例。