Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XMLBeam的默认值_Java_Xml_Parsing - Fatal编程技术网

Java XMLBeam的默认值

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将默认值设置

我想使用XMLBeam()简化XML处理

我有一个XML:

    <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();