给广大网友提供大量的问题与专业回答
当前位置:首页 > 热点问答 > 正文
已解决

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

来自网友在路上 151851提问 提问时间:2023-05-21 05:39:10阅读次数: 51

最佳答案 问答题库518位专家为你答疑解惑

导读: 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... 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())。

使用JAXB生成XML绑定类。

该架构基于一组旧版XML文件,并包含以下代码段:

<xs:complexType name="MetaType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="Name" /> <xs:attribute type="xs:string" name="Scheme" /> <xs:attribute type="xs:string" name="Value" /> </xs:extension> </xs:simpleContent></xs:complexType>

‘Value’属性与的’value’属性冲突xs:string,并且代码生成失败并显示以下错误:

com.sun.istack.SAXParseException2: Property "Value" is already defined. Use &lt;jaxb:property> to resolve this conflict.

99%的人还看了

猜你感兴趣

版权申明

本文"JAXB-属性“值”已定义。用,解决这个冲突":http://ask.ycslggx.cn/2-14273-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!

推荐回答

    SQL Error: select * from ***_ecms_tk order by newstime desc limit 18