如何使用可选元素为XML定义XSD
我有一个类似的xml如何使用可选元素为XML定义XSD,xml,jaxb,xsd,xsd-validation,Xml,Jaxb,Xsd,Xsd Validation,我有一个类似的xml <datapoint> <fieldname>somestring</fieldname> <value>some string</value> </datapoint> <datapoint> <fieldname>somestring</fieldname> <value>some string</value> &l
<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作为复杂类型。但当我使用value作为复杂类型时,我无法从JAXB中的value解析字符串值。我只得到一个物体。如果我将值声明为简单类型(字符串),我将无法读取文件名。我应该怎么做..请帮助。通过在定义中包含
minOccurs=“0”
将XML元素标记为可选元素
我使用value作为复杂类型。但是当我使用value作为复杂类型i时 我无法从JAXB中的值解析字符串值 如果只定义复杂类型,则需要将相应的类传递给unmarshal方法:
Datapoint Datapoint=unmarshaller.unmarshal(xml,Datapoint.class).getValue();
如果为复杂类型定义全局元素,则不需要使用class参数。如果定义一个引用命名复杂类型的全局元素,将返回JAXBElement
的实例,如果定义一个匿名类型的全局元素,将返回Datapoint
的实例