我正在尝试使用从 xml 文件到从模式文件 xsd 生成的类的绑定数据来创建对象,但它给出了 null。
这是我的 xsd,我从中生成了我的 java 类:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="people">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="employee"/>
<xsd:element ref="customer"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="employee">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='name'/>
<xsd:element ref='country'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name='name'>
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace='http://www.w3.org/namespace/'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name='country'>
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace='http://www.w3.org/namespace/'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='cname'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name='cname'>
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace='http://www.w3.org/namespace/'/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
我的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<people>
<employee>
<name>John</name>
<country>India</country>
</employee>
<customer>
<cname>steve</cname>
</customer>
</people>
在这里我的代码试图将xml数据绑定到java对象,但给出null:
File file = new File("D:\\file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance("com.jaxb.xmlbinding");
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
People element = (People) jaxbUnmarshaller.unmarshal(file);
System.out.println(element.getEmployee().getName().getAny()); //giving null
有人可以帮我....