XMLBeam的默认值

时间:2017-03-23 11:11:28

标签: java xml parsing

我想简单地使用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

1 个答案:

答案 0 :(得分:0)

我建议的方法是使用XMLSchema并将默认值放在架构中。有关如何在XMLBeam project site上执行此操作的教程。

但在您的情况下,只需从Boolean更改为boolean即可。它永远不会返回nullfalse是默认值。

如果您再次遇到此问题,可能使用其他类型,请查看the API docs。您可以更改任何类型的类型转换,并根据需要更改默认值。 Here是自定义类型转换的示例。