在JAXB中编组时隐藏XMLAttribute而不将其设置为null

时间:2013-08-09 07:50:33

标签: java jaxb

我在这里有一个问题。

此查询类似于 optional JAXB xml attribute while marshalling

我想在JAXB中编组时隐藏一些属性

有些情况下,我只想在文件中有一个变量,但我不希望它在XML输出中显示。

有办法吗?

例如在下面的例子中,我不想显示“deviceStatus”属性。 但我会在我的代码中内部使用它。

<DeletionResult>

  <device-result>
        <device id="100" deviceStatus="online" completed="true"/>
        <device id="101" deviceStatus="online" completed="true"/>
        <device id="102" deviceStatus="offline" completed="true"/>       
  </device-result>

</DeletionResult>

是的同意,将其设置为Null将不会在XML输出中显示它。但在我的情况下,它是昂贵的操作,因为我需要迭代所有设备对象,并需要将deviceStatus设置为null。 (可能有数千台设备甚至更多)

如果有其他选择可以实现此目的,请告知我们?而不是null。

1 个答案:

答案 0 :(得分:1)

对要隐藏的属性使用注释@XmlTransient。