gpt4 book ai didi

java - JAXB 在解码空的 int、double 或 date 属性时抛出错误

转载 作者:行者123 更新时间:2023-12-04 06:50:08 26 4
gpt4 key购买 nike

我在 JAXB 解码 xml 数据时遇到了一个问题。

JAXB 在解码 int 的空值时抛出异常, doubledate来自 xml 的属性。例如,它抛出 java.lang.NumberFormatException当它解码以下 xml 数据时。

<sku displayName="iphone" price=""/>

以下是我的架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sku" type="SkuType" maxOccurs="unbounded"/>
<xs:complexType name="SkuType">
<xs:attribute name="displayName" type="xs:string" use="required"/>
<xs:attribute name="price" type="xs:double" use="required"/>
<xs:attribute name="startDate" type="xs:dateTime" use="optional"/>
<xs:attribute name="minimumOrderQty" type="xs:integer" use="optional"/>
</xs:complexType>
</xs:schema>

对不起凌乱的xml。我无法在输入中输入“左角”符号。谁能帮我吗?

非常感谢。

最佳答案

抛出错误是因为空字符串 ""不是有效的 double 值。如果需要价格,则必须为其分配一个有效的 double 值。

您应该设置一个类似 price="0"的值或将该属性设为可选,而不是 price=""。

有效价格属性:

<sku displayName="iphone" price="0"/>

价格属性作为可选属性:
<xs:attribute name="price" type="xs:double" use="optional"/>

关于java - JAXB 在解码空的 int、double 或 date 属性时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3251606/

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