你的位置:首页 > Java教程

[Java教程]Jaxb解析XML


    传统方式下,我们都是通过dom4j或者jdom方式来解析

1,生成xsd

首先,我们按照现有的

 

2,生成xsd中定义对应的代码

jdk提供了一个xjc.jar可以为我们将xsd转换成对应的代码,方法如下:

xjc –d d:\ –p com.huawei.test resource.xsd

上面的参数定义如下:-d 指xsd文件所在的路径,-p指生成的代码所在的包名.

 

3,将

假如,我们的resource.

(1)marshal,将

 

public void marshalToObject(){  File file = new File("C:\\file1.");   JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);   Marshaller jaxbMarshaller = jaxbContext.createMarshaller();   // output pretty printed   jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);   jaxbMarshaller.marshal(customer, file);   jaxbMarshaller.marshal(customer, System.out); }

 

(2)Unmarshaller,将内存中创建的对象生成

public void UnmarshallerTonew File("C:\\file.");   JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);   Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();   Customer customer = (Customer) jaxbUnmarshaller.unmarshal(file);   System.out.println(customer); }