XML jax-rs 中整数类型数据的解组

XML unmarshalling of Interger type data in jax-rs

我们有一个特殊问题,空 xml 标签被解组为 0(零)。这会导致数据插入数据库和检索期间出现问题。

例如。 对于下面的 xml

<?xml version="1.0" encoding="UTF-8"?>
    <afBoundData>  
        <intData1/>
        <intData2/>0</intData2>
    </afBoundData> 

对应的class是

class AfBoundData {
      Integer intData1;
      Integer intData2;
}

将 XML 解组为 class 后,intData1 和 intData2 的值均为 0(零)

但我们期望 intData1 中为 null,intData2 中为 0。

请帮忙。

您可以使用 @XmlElement 注释为 Integer 字段指定默认值:

class AfBoundData {
    @XmlElement(defaultValue = "null")
    Integer intData1;

    @XmlElement(defaultValue = "null")
    Integer intData2;
}

顺便说一下,您的问题与 this SO question 非常相似。