我需要<any>
在我的 xsd 中使用 element 来实现可扩展性。所以我使用 xsd 如下所示。
<complexType name="AddInput">
<sequence>
<element name="First" type="int"></element>
<element name="Sec" type="int"></element>
<any processContents="lax" namespace="##any" minOccurs="0" maxOccurs="unbounded"></any>
</sequence>
</complexType>
我已经使用 ObjectFactory (@XMLRegistry, @XmlElementDecl) 定义了一个要放入<any>
占位符的复杂对象但是如果我在代码下面运行,我会得到
org.apache.xerces.dom.ElementNSImpl
而不是 JAXBElementObject。我在谷歌搜索,我看到 JAXBContext 应该知道架构。但我不确定,如何让 JAXBContext 知道我的复杂对象。任何想法都会有所帮助。
List<Object> elemList = (List<Object>)input.getAny();
for(Object elem : elemList){
System.out.println(elem.getClass());
}