Java XMLBeam的默认值
我想使用XMLBeam()简化XML处理 我有一个XML:Java XMLBeam的默认值,java,xml,parsing,Java,Xml,Parsing,我想使用XMLBeam()简化XML处理 我有一个XML: <column> <name>myname1</name> </column> <column trimvalue="true"> <name>myname2</name> </column> 如您所见,只有第二列具有属性trimvalue。 如何使用XMLBeam将默认值设置
<column>
<name>myname1</name>
</column>
<column trimvalue="true">
<name>myname2</name>
</column>
如您所见,只有第二列具有属性trimvalue
。
如何使用XMLBeam将默认值设置为false
,而不更改XML
目前,我总是要检查getTrimValues()=null&&getTrimValues()==true
在实用程序方法中,但我想知道是否可以在XMLBeam中实现默认值,可能类似于:
@XBRead("@trimvalue")
@XBDefaultValue(false) <== THIS Annotation does not exist, this is just an idea
Boolean getTrimValues();
@XBRead(“@trimvalue”)
@XBDefaultValue(false)我推荐的方法是使用XMLSchema并将默认值放入模式中。有一个关于如何在上执行此操作的教程
但在您的情况下,只需将Boolean
更改为Boolean
。它永远不会返回null
,false
是默认值
如果您再次遇到此问题,可能是另一种类型的问题,请查看。您可以更改任何类型的类型转换,并根据需要更改默认值。是自定义类型转换的一个示例。我建议使用XMLSchema并将默认值放在模式中。有一个关于如何在上执行此操作的教程
但在您的情况下,只需将Boolean
更改为Boolean
。它永远不会返回null
,false
是默认值
如果您再次遇到此问题,可能是另一种类型的问题,请查看。您可以更改任何类型的类型转换,并根据需要更改默认值。是自定义类型转换的示例。谢谢。问题是:没有XMLSchema。我理解这个特定数据类型从布尔值到布尔值的变化,但是为其他类型(比如字符串)设置默认值是行不通的。好的,很高兴知道这在目前是不可能的,我没有错过什么。谢谢你的回答!还有一件事。。。如果您有Java 8,则可以对任何投影方法使用返回类型可选
。通过这种方式,您可以在使用该值时选择默认值。感谢您的提示!非常感谢。问题是:没有XMLSchema。我理解这个特定数据类型从布尔值到布尔值的变化,但是为其他类型(比如字符串)设置默认值是行不通的。好的,很高兴知道这在目前是不可能的,我没有错过什么。谢谢你的回答!还有一件事。。。如果您有Java 8,则可以对任何投影方法使用返回类型可选
。通过这种方式,您可以在使用该值时选择默认值。感谢您的提示!
@XBRead("@trimvalue")
@XBDefaultValue(false) <== THIS Annotation does not exist, this is just an idea
Boolean getTrimValues();