簡體   English   中英

如何使用JAXB創建沒有屬性的anyType空標簽

[英]How do I create an empty tag of anyType without attributes using JAXB

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/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM