这是我的xsd计划:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://gov.com/oos/types/1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="id" type="xs:int"/>
<xs:element name="sum" type="xs:int"/>
<xs:element name="docPublishDate" type="xs:dateTime"/>
<xs:element name="href" type="xs:anyURI"/>
<xs:element name="printForm">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:anyURI" name="url"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
如何获得名为“id”的元素? ()
//我已经从xsd
创建了类JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
JAXBElement<int> jaxbElement = unmarshaller.unmarshal(source, ...
我不知道接下来该做什么?如何获得原始类型的价值。到处都给我一个如何获得类复杂类型的指令?但不是单个元素,如int或string。请帮忙
答案 0 :(得分:0)
在您的ObjectFactory
中,您可能有id
到JAXBElement<Integer>
或类似的地图。
所以你应该能够
JAXBElement<Integer> idElement = unmarshaller.unmarshal(source, ...);
然后
Integer id = idElement.getValue();