簡體   English   中英

如何使用可選元素為XML定義XSD

[英]how to define XSD for a XML with optional element

我有這樣的xml

<datapoint>
   <fieldname>somestring</fieldname>
   <value>some string</value>
</datapoint>
<datapoint>
   <fieldname>somestring</fieldname>
   <value>some string</value>
</datapoint>
<datapoint>
   <fieldname>somestring</fieldname>
   <value>
       <filename>some string</filename>
   </value>
</datapoint>

我需要為此XML定義XSD。 我使用值作為復雜類型。 但是當我使用value作為復雜類型時,我無法從JAXB中的Value解析字符串值。 我只有一個對象。 如果我將值聲明為簡單類型(字符串),則無法讀取文件名。我該怎么辦..請幫助。

通過在定義中包含minOccurs="0" ,可以將XML元素標記為可選。


我使用值作為復雜類型。 但是當我使用value作為復雜類型時,我無法從JAXB中的Value解析字符串值

如果僅定義復雜類型,則需要將相應的類傳遞給unmarshal方法:

Datapoint datapoint = unmarshaller.unmarshal(xml, Datapoint.class).getValue();

如果您為復雜類型定義全局元素,則無需使用class參數。 如果定義引用引用的復雜類型的全局元素,則將獲得JAXBElement<Datapoint>的實例,如果定義具有匿名類型的全局元素,則將返回Datapoint的實例。

暫無
暫無

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

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