gpt4 book ai didi

java - JaxB 输出格式?

转载 作者:行者123 更新时间:2023-11-30 11:50:49 26 4
gpt4 key购买 nike

我目前正在编写使用 JaxB 处理 xml 信息读/写的 Java 代码。它填充了一个在整个程序中使用的 Java 类。在某些时候,类被编码并写回到 xml 中。我对此没有任何问题,一切都按预期运行。

我很好奇的是,是否有一种方法可以改变 JaxB 写出 float 的格式。例如,我使用的部分 xml 模式包含以下摘录:

.
.
<xs:element name="myObfuscatedValue">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attrbute name="myObfuscatedValue__comment" type="comment" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
.
.

因此,当我解码它时,“myObfuscatedValue”基本上以 Double 形式出现。然后我在 JaxB 生成的类周围有一个包装类,允许用户通过标准 setter / getter 访问/修改变量。回编码也能正常工作。

我还想做的是让 JaxB 以特定的数字格式(类似于“0.0000E00”之类的 DecimalFormat 的东西)写出双倍数。这可能很容易做到吗?我已经跳转到了几个不同的资源如何做到这一点,但我承认我对 xml/schemas/JaxB 的了解不是最新的。有没有办法改变 xjc 调用来做到这一点?如果可能的话,我想尽可能避免更改架构文件(它被不同语言的多个代码使用,我必须了解更改它是否会首先破坏这些代码中的任何一个)。

如有任何帮助、见解或建议,我们将不胜感激。

最佳答案

您可以使用 XmlAdapter 自定义值在 XML 中的表示方式。下面的示例演示了如何使用 XmlAdapter 如果您从 XmlSchema 生成对象模型:

这是从 Java 类开始时使用 XmlAdapter 的另一个示例:

关于java - JaxB 输出格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7747309/

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