JAXB-XML与java类映射

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在java的应用程序中,通常XML数据文件要解析成一个java对象。

JAXB的工作原理:
JAXB映射主要由四个部分组成,schema、JAXB、XML文档、java对象
对比Hibernate映射来说明这四项的工作原理:shema可以看作是数据库中的表结构,document(XML文档)是表中的一条条的数据,而jaxb可以看作是hibernate,他提供schema 到java对象的映射,类似于XXX.HBM的映射文件。

将XML转换成java对象的过程叫unmarshal.
将java对象转换成XML的过程叫Marshal。

代码com.helloweenvisf.xml里面的article,java代码
了解映射关系!!!!
Java对象转换成XML对象(marshal)
代码:JAXBDemo.java
总结:在将java转换成XML时通常要经过一下几个步骤。

1.通过映射的类创建XMLContext上下文对象,其中参数为映射的类。

JAXBContext context = JAXBContext.newInstance(Article.class)
2.通过JAXBComtext上下文对象的createMarshaller()方法,创建一个对象java格式转化成
XML的格式,代码如下
Marshaller m = context.createMarshaller();
3.最后,将JAVA对象转换到制定的输出位置,其中的article为java对象。

m.marshal(article,xmlFile);
XML转换成JAVA对象(ummarshal)
XML转换成JAVA对象的步骤与之相反。

总结:将XML转换成JAVA对象时候通常要经过以下几个步骤
1.通过映射的类创建XMLComtext上下文对象,其中参数为映射的类。

JAXBContext context = JAXBContext.newInstance(Article.class);
2.通过JAXBContext上下文对象创建createUnmarshaller()方法,创建XML转换成JAVA对象
的格式。

Unmarshall m = context.createUnmarshaller();
3.最后,将XML转换成对映的类,转换后需要强制性转换成映射的类
Article article = (Article)m.unmarshaller(xmlFile);
更为复杂的映射
代码articleData2.java
总结:
1.如果XML中的根元素不想使用默认的的类名来表示,可以设置@XmlRootElement标注中
的name的值来指定根元素的的命名;例如:
@XmlRootElement(name=”articles”);
2.根元素下面有很多相同的子元素,可以通过在类中使用list来表示,例如:
List<Article> article = new ArrayList<Article>();
3.除了这些常用的映射外,jaxb还提供了更多复杂的映射的标注,比如:
@XmlElement,@XmlAttribute,@XmlNs,@XmlEnum等。

相关文档
最新文档