maomaode 发表于 2013-1-15 03:14:54

JAXB如何Marshal父类?

<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">假设我们有这样的Schema:

<complexType name="Meta">       <sequence>                        <element name="name" type="string"/"">         <element name="description" type="string"/"">       </sequence>   </complexType>    <complexType name="Store">       <complexContent>         <extension base="Meta">               <sequence>                   <element name="books" type="Book" maxoccurs="unbounded"/"">               </sequence>         </extension>       </complexContent>   </complexType>    <element name="store" type="Store"/"">   <element name="meta" type="Meta"/"">  注意到Store 继承了Meta, 如果我们有一个Store的对象,但是我们只想Marshal出继承Meta部分的内容,即希望得到下面这样XML

<meta><name>my book store </name><description> abc </description></meta>  应该怎么写呢?答案其实就在于你怎么构建JAXBContext

JAXBElement jaxbElement =   (JAXBElement)m.invoke(objFactory.newInstance(), store); JAXBContext jc = JAXBContext.newInstance(Meta.class);Marshaller marshaller = jc.createMarshaller();marshaller.marshal(jaxbElement, os);  
页: [1]
查看完整版本: JAXB如何Marshal父类?