gpt4 book ai didi

java - 如何使用 JAXB 创建没有属性的 anyType 空标签

转载 作者:行者123 更新时间:2023-11-30 03:38:08 28 4
gpt4 key购买 nike

xsd 在这里: http://www.iana.org/assignments/xml-registry/schema/epp-1.0.xsd

我不想修改 XSD(由第三方维护)或 XJC 生成的类,因为它们会在每次构建时被覆盖。

这是上述 XSD 的示例片段:

<complexType name="dcpAccessType">
<choice>
<element name="all"/>
...
</choice>
</complexType>

对应的XJC生成的类如下所示:

...
public EppDcpAccessType {
...
public void setAll(Object value) { this.all = value; }
...
}
...

我想生成一个空标签,如下所示:

<all/>

但我不知道如何设置属性来实现这一点。如果我执行以下操作:

eppDcpAccessType.setAll("");

我得到以下内容(带有一堆我不想要的属性):

<all xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string"></all>

如果我执行以下操作:

eppDcpAccessType.setAll(new Object());

我收到以下运行时错误:

java.lang.ClassCastException: java.lang.Object cannot be cast to org.w3c.dom.Element

如何生成没有属性的空标签?

最佳答案

我也遇到了同样的问题。具有强制元素但未指定类型的第三方 XSD。

我使用以下方法解决了这个问题:

myJaxbType.setTheMandatoryElement(new org.dom4j.dom.DOMElement(""));

结果是:

<TheMandatoryElement/>

关于java - 如何使用 JAXB 创建没有属性的 anyType 空标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345944/

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