- 浏览: 7859539 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在JAXB中(用于JAVA对象和xml之间的转换),经常出现各类的 @XmlElement这样的标记,
下面就来以一个例子小结下,加深学习:
这个是一个典型的POJO了,其中引用了对象emailAddress,是一个List,那么下面演示各类用法:
先看默认的调用代码如下:
默认的把这个对象输出为一般的XML:
<customer>
<emailAddresses>janed@example.com</emailAddresses>
<emailAddresses>jdoe@example.org</emailAddresses>
</customer>
下面逐一看每个注解的用法
1) @XmlElement
@XmlElement(name="email-address")
private List<String> emailAddresses;
加上这个注解的话,则按自定义的xml标签名去输出某个属性,如下:
<customer>
<email-address>janed@example.com</email-address>
<email-address>jdoe@example.org</email-address>
</customer>
2) @XmlElementWrapper
这个注解等于在最外面再包一层了,
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
@XmlElementWrapper(name="email-addresses")
@XmlElement(name="email-address")
private List<String> emailAddresses;
}
输出:
<customer>
<email-addresses>
<email-address>janed@example.com</email-address>
<email-address>jdoe@example.org</email-address>
</email-addresses>
</customer>
3) @XmlList
这个等于是在同一行中,把list中的输出,以空格形式分隔开来,
输出:
<customer>
<emailAddresses>janed@example.com jdoe@example.org</emailAddresses>
</customer>
4)
@XmlList和 @XmlAttribute混合使用
@XmlList
@XmlAttribute
private List<String> emailAddresses;
输出:
<customer
emailAddresses="janed@example.com jdoe@example.org"/>
看到没?就是同一行中逗号输出,并作为customer的一个属性
5)
@XmlList 和 @XmlValue混用
@XmlList
@XmlValue
private List<String> emailAddresses;
就是把emailAddress的list的值,作为<customer>的value 输出,结果如下:
<customer>janed@example.com jdoe@example.org</customer>
抱歉 代码看错...
下面就来以一个例子小结下,加深学习:
import java.util.*; import javax.xml.bind.annotation.*; @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Customer { private List<String> emailAddresses; public Customer() { emailAddresses = new ArrayList<String>(); } public List<String> getEmailAddresses() { return emailAddresses; } public void setEmailAddresses(List<String> emailAddresses) { this.emailAddresses = emailAddresses; } }
这个是一个典型的POJO了,其中引用了对象emailAddress,是一个List,那么下面演示各类用法:
先看默认的调用代码如下:
import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; public class Demo { public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance(Customer.class); Customer customer = new Customer(); customer.getEmailAddresses().add("janed@example.com"); customer.getEmailAddresses().add("jdoe@example.org"); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(customer, System.out); } }
默认的把这个对象输出为一般的XML:
<customer>
<emailAddresses>janed@example.com</emailAddresses>
<emailAddresses>jdoe@example.org</emailAddresses>
</customer>
下面逐一看每个注解的用法
1) @XmlElement
@XmlElement(name="email-address")
private List<String> emailAddresses;
加上这个注解的话,则按自定义的xml标签名去输出某个属性,如下:
<customer>
<email-address>janed@example.com</email-address>
<email-address>jdoe@example.org</email-address>
</customer>
2) @XmlElementWrapper
这个注解等于在最外面再包一层了,
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
@XmlElementWrapper(name="email-addresses")
@XmlElement(name="email-address")
private List<String> emailAddresses;
}
输出:
<customer>
<email-addresses>
<email-address>janed@example.com</email-address>
<email-address>jdoe@example.org</email-address>
</email-addresses>
</customer>
3) @XmlList
这个等于是在同一行中,把list中的输出,以空格形式分隔开来,
@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class Customer { @XmlList private List<String> emailAddresses; }
输出:
<customer>
<emailAddresses>janed@example.com jdoe@example.org</emailAddresses>
</customer>
4)
@XmlList和 @XmlAttribute混合使用
@XmlList
@XmlAttribute
private List<String> emailAddresses;
输出:
<customer
emailAddresses="janed@example.com jdoe@example.org"/>
看到没?就是同一行中逗号输出,并作为customer的一个属性
5)
@XmlList 和 @XmlValue混用
@XmlList
@XmlValue
private List<String> emailAddresses;
就是把emailAddress的list的值,作为<customer>的value 输出,结果如下:
<customer>janed@example.com jdoe@example.org</customer>
评论
2 楼
shihengli2010
2016-05-09
shihengli2010 写道
Customer customer = new Customer();
代码有测试过吗?
代码有测试过吗?
抱歉 代码看错...
1 楼
shihengli2010
2016-05-09
Customer customer = new Customer();
代码有测试过吗?
代码有测试过吗?
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1489方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 1969前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3418info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2189import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 451https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 635public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 558https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 627https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 401https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 4661 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3045微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 560https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1781什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 914本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1269原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 811public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 624在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 886-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 713一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1858介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术
Jaxb annotation 使用 Jaxb annotation初步使用
我刚写好的 一个简单的小程序 动行里面的read文件 是在idea 中用jaxb 读xml中数据
一个jaxb小项目的源码,可以帮助理解jaxb的执行和注解。
JAXB的使用JAXB的使用JAXB的使用JAXB的使用
JAXB-XML注解-应用
解释并解决java开发中使用jaxb解析或组装xml遇到乱码的问题。
使用jaxb生成XML例子,含有例子和注解解析
jaxb-api jaxb-impl jar
无需安装,解压后即可。jaxb-api.jar,jaxb-xjc.jar,jaxb-impl.jar,activation.jar等相关jar包在lib文件夹下。
JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件
JAXB的安装包及插件
赠送jar包:jackson-module-jaxb-annotations-2.2.3.jar; 赠送原API文档:jackson-module-jaxb-annotations-2.2.3-javadoc.jar; 赠送源代码:jackson-module-jaxb-annotations-2.2.3-...人性化翻译,文档中的代码和结
JAXB注解 java 关于xml的注解,自动生成xml文件
在使用webservice,mule esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader这个错误,按照打出的信息Use the endorsed directory mechanism to place jaxb-api.jar in ...
jaxb2-annotate-plugin JAXB2批注插件能够向生成的源中添加或从生成的源中删除任意批注。使用概述使用绑定文件或直接在模式中注释模式将插件添加到XJC类路径。 将注释类添加到XJC类路径。 使用-Xannotate -switch...
java -jar JAXB2_20060607.jar On Windows, you can just double-click the jar file to execute. Release Notes Browse the release notes online, including what's new. Technical Support Please subscribe to...
jaxb-2.2.jar jaxb jax
有关Maven项目中缺少jaxb-api的异常报错解决,jaxb-api-2.3.0.jar
一个JAXB2的基础教程,教你快速运用JAXB通过XSD绑定XML和读写XML