gpt4 book ai didi

java - jaxb idref 字符串适配器

转载 作者:行者123 更新时间:2023-12-01 12:01:16 25 4
gpt4 key购买 nike

我使用的是标准 xml 模式,称为 isosts,我需要使用 jaxb 将模式转换为 java 类。在此 xml 架构中,许多元素的属性 rod 类型为 xs:IDREFS <xs:attribute name="rid" type="xs:IDREFS"> 。 Jaxb 将 xs:IDREFS 转换为对象列表。

根据我的需要,我希望 jaxb 将类型 xs:IDREFS 设为所有生成的 java 类中的 java 字符串类型。并且在编码/解码期间,属性rid的值应该全部作为字符串处理。由于这是一个标准模式,我必须自定义 jaxb。我不确定这是否可以在 jaxb 绑定(bind)或适配器中完成以及如何完成。谁能帮我吗?

最佳答案

这个绑定(bind)文件(我们称之为“binding.xjb”)强制类型为 String:

<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xsi:schemaLocation=" http://java.sun.com/xml/ns/jaxb
http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1">

<bindings schemaLocation="SomeSchemaName.xsd" node="/xs:schema">
<bindings node="//xs:attribute[@name='rid']">
<property>
<baseType>
<javaType name="java.lang.String"></javaType>
</baseType>
</property>
</bindings>
</bindings>

</bindings>

使用编译架构

xjc -b binding.xjb SomeSchemaName.xsd

关于java - jaxb idref 字符串适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27970487/

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