使用.xsd文件(見代碼片段下面SO_customer.xsd)
2。執行xjc:
C:\dev\jdk1.6.0_41\bin\xjc -d src SO_customer.xsd
這將基因率的java類,你需要
和解組(請參見下面的代碼片段MainClass.java)。 這將輸出的第一個客戶的名稱: 「ATNT」
SO_customer.xsd(從您提供的XML ...):
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="customerList">
<xs:complexType>
<xs:sequence>
<xs:element name="customer" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:string" name="category"/>
<xs:element type="xs:string" name="country"/>
<xs:element type="xs:string" name="device"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="services">
<xs:complexType>
<xs:sequence>
<xs:element name="softwareServices" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="company"/>
<xs:element type="xs:string" name="country"/>
<xs:element name="clients">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="bank"/>
<xs:element type="xs:string" name="insurance"/>
<xs:element type="xs:string" name="telecom"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
MainClass.java:
package call;
import generated.Root;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class MainClass {
public static void main(String[] args) {
try {
File file = new File("C:\\SO\\src\\input.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Root.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Root root = (Root) jaxbUnmarshaller.unmarshal(file);
System.out.println(root.getCustomerList().getCustomer().get(0).getName());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
你到目前爲止嘗試過什麼?你卡在哪裏?有很多教程可以幫助你開始 – reto
我試圖讓這個XML解組並且填充customerList中的所有客戶對象,但是我得到了空值。假設XML是簡單的格式一樣包含單個客戶節點能夠得到客戶對象 思科 網絡 美國 ubr10k –
martin