注解方式输出xml

注解方式输出xml

ID:12530151

大小:16.21 KB

页数:4页

时间:2018-07-17

注解方式输出xml_第1页
注解方式输出xml_第2页
注解方式输出xml_第3页
注解方式输出xml_第4页
资源描述:

《注解方式输出xml》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、注解方式输出xml利用jaxb实现XML与对象相互转换JAXB(JavaAPIforXMLBinding)可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML转换为Java对象的过程称之为UnMarshal。我们可以通过在Java类中标注注解的方式将一个Java对象绑定到一段XML,也就是说,在Java类中标注一些注解,这些注解定义了如何将这个类转换为XML,怎么转换,以及一段XML如何被解析成这个类所定义的对象。需要的JAR包:jaxb-api-2.

2、0.jar(目前ASMS工程中已存在此JAR包),可以到http://jaxb.java.net/下载最新版本以下为JAVA代码示例@XmlRootElement//注解表示将该类映射为XML根节点publicclassTicketOrder{privateStringorderId;privateStringpnr;privateStringorderStatus;privateListticketList;。。。}publicclassTicket{privateStringpassengerId;

3、privateStringpassengerName;privateStringticketNo;。。。}publicclassXmlUtils{publicstaticvoidmain(String[]args)throwsJAXBException{//TicketOrder对象转换成XMLTicketOrderorder=newTicketOrder();order.setOrderId("1234");order.setOrderStatus("已出票");order.setPnr("TRTERT");List

4、ticketList=newArrayList();Ticketticket=newTicket();ticket.setPassengerId("1");ticket.setPassengerName("张三");ticket.setTicketNo("7841111111111");ticketList.add(ticket);order.setTicketList(ticketList);StringWriterwriter=newStringWriter();JAXBContex

5、tjaxbContext=JAXBContext.newInstance(order.getClass());Marshallermarshaller=jaxbContext.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);//设置输出是否有XML格式//设置输入XML编码默认为“UTF-8”marshaller.setProperty(Marshaller.JAXB_ENCODING,"G

6、BK");//设置输入XML是否有“”//marshaller.setProperty(Marshaller.JAXB_FRAGMENT,Boolean.TRUE);marshaller.marshal(order,writer);System.out.println(writer.getBuffer().toString());//XML转换成TicketOrder对象Stringxml=“

7、>。。。”;JAXBContextjaxbContext=JAXBContext.newInstance(TicketOrder.class);Unmarshallerunmarshaller=jaxbContext.createUnmarshaller();TicketOrderticketOrder=(TicketOrder)unmarshaller.unmarshal(newStringReader(xml));}}从以上实例代码看出,其实Marshal和UnMarshal的过程并不复

8、杂,只需要从JAXBContext中获得Marshaller或Unmarshaller对象,就可以让JAXB帮我们来进行转换了。我们需要操作的主要内容是定义一个规则,告诉JAXB如何将一个类、按照什么样的格式转换为XML,下面是JAXB中主要的一些注解的介绍。1、@XmlRootElement将一个Java类映射为一段XML的根节

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。