JAXB-属性“值”已定义。用 解决这个冲突

JAXB-属性“值”已定义。用 解决这个冲突,第1张

JAXB-属性“值”已定义。用 解决这个冲突

答案在于利用JAXB绑定

site-template.xjb
):

<bindings xmlns="http://java.sun.com/xml/ns/jaxb"          xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"          xmlns:xs="http://www.w3.org/2001/XMLSchema"          version="2.1">    <bindings schemaLocation="site-template.xsd" version="1.0">        <!-- Customise the package name -->        <schemaBindings> <package name="com.example.schema"/>        </schemaBindings>        <!-- rename the value element -->        <bindings node="//xs:complexType[@name='metaType']"> <bindings node=".//xs:attribute[@name='Value']">     <property name="ValueAttribute"/> </bindings>        </bindings>    </bindings></bindings>

XPath表达式查找节点并重命名节点,从而避免了命名冲突。

使用此绑定XML文件,生成的Java类最终具有所需的

getValueAttribute()
(以及
getValue()
)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存