@XmlRootelement

指定根目录。

//标注在实体类上
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{
…………
}

@XmlType

将类或枚举类型映射到 XML 模式类型,配合如下属性使用:

name 

属性在你不想使用class名的时候,来指定XML Schema中的名字

propOrder 

值是一个字符串数组,用来设置子elements的顺序。(定义的elements顺序必须和类属性顺序一致)

//映射类属性(映射的类属性顺序必须一致)
@XmlType(name = "xmlEntity" propOrder = {
"name",
"sex",
"age"
})
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{ protected String name;
protected String sex;
protected Int age;
}

@XmlAccessorType

定义这个类中的哪些类型需要映射到XML,配合如下属性使用:

XmlAccessType.FIELD

映射这个类中的所有字段到XML

XmlAccessType.PROPERTY

映射这个类中的属性(get/set方法)到XML

XmlAccessType.PUBLIC_MEMBER

将这个类中的所有public的field或property同时映射到XML(默认)

XmlAccessType.NONE

不映射

//映射这个类中的所有字段到XML
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "xmlEntity" propOrder = {
"name",
"sex",
"age"
})
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{ protected String name;
protected String sex;
protected Int age;
}

@XmlElement

表示这个field将在XML中被转成一个element节点

@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(name = "xmlEntity" propOrder = {
"name",
"sex",
  "age"
})
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{ protected String name;
protected String sex;
@XmlElement(name = "age")
protected Int age; public void getName(){return this.name}
public String setName(String name){this.name = name} public void getSex(){return this.sex}
public String setSex(String sex){this.sex= sex} }

@XmlElementWrapper注解

表示生成一个包装 XML 表示形式的包装器元素

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "xmlEntity" propOrder = {
"name",
"sex",
  "age",
"list"
})
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{ protected String name;
protected String sex;
protected Int age;
@XmlElementWrapper(name = "list")
@XmlElement(name = "Data")
protected List<String> list; }

@XmlTransient注解

定义某字段(属性)不需要被映射为xml。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "xmlEntity" propOrder = {
"name",
"sex"
})
@XmlRootElement(name = "xmlEntity")
public class XmlEntity{ protected String name;
protected String sex;
@XmlTransient
protected Int age;
}

XML:xml常用注解的更多相关文章

  1. 为什么applicationContext.xml和spring-servlet.xml中都有注解过滤<context:component-scan base-package="myproject"> 和<context:component-scan base-package="myproject.controller" />

    在刚学习SpringMVC框架整合时,你也许会产生疑问为什么Spring.xml和SpringMVC.xml中都有注解过滤. <context:component-scan base-packa ...

  2. SpringAOP的xml实例、注解形式实例、概念理解 以及execution表达式实例与概念说明

    (1)Spring AOP的简单应用: -->AOP:(Aspect Orinted Programming)面向切面编程,用于具有横切逻辑的场合,如:访问控制,事务管理,性能检测,由切入点和增 ...

  3. MyBatis笔记----MyBatis 入门经典的两个例子: XML 定义与注解定义

    ----致敬MyBatis官方开放文档让大家翻译,不用看书直接看文档就行了,mybatis的中文文档还需要完备的地方 简介 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以 ...

  4. maven(4)------maven核心pom.xml文件常用元素分析

    在maven项目中,pom文件是核心文件 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <p ...

  5. node.js 操作excel 表格与XML文件常用的npm

    在日常工作中会经常用到把一些excel表格文件转化为json,xml,js等格式的文件,下面就是我在日常中用到的这些npm. 1.node-xlsx: node-xlsx可以把excel文件转化为上面 ...

  6. Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版)

    Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版) XML版本: 实体类: @Data @NoArgsConstructor public class Course ...

  7. Spring(二)-生命周期 + 自动装配(xml) +自动装配(注解)

    1.生命周期 **Spring容器的 bean **的生命周期: 1.1 默认生命周期 1.1.1 生命周期 调用构造方法,创建实例对象: set方法,给实例对象赋值: init 初始化方法 初始化对 ...

  8. C# 对Xml的常用操作

    using System.Xml;  //初始化一个xml实例   XmlDocument xml=new XmlDocument(); //导入指定xml文件  xml.Load(path);   ...

  9. Flex XML/XMLList 常用操作

    1       XML.XMLList操作 Flex对xml提供了很多强大而灵活的操作.相对于其他语言,flex对xml的格式要求不那么苛刻,只要符合基本格式语法的字符串,flex能非常简单的转换成x ...

  10. Qt5 对xml文件常用的操作(读写,增删改查)

    转自:https://blog.csdn.net/hpu11/article/details/80227093 项目配置 pro文件里面添加QT+=xml include <QtXml>, ...

随机推荐

  1. 049.Python前端javascript

    一 JavaScript概述 1.1 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Script ...

  2. python基础之python牛逼的设计模式

    七大设计原则: 1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责. 2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE] ...

  3. python基础之模块初识

    Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持 一.time模块和datetime模块 和时间有关系的我们就要用到时间模块.在使用模 ...

  4. Linux Socket编程-(转自吴秦(Tyler))

    "一切皆Socket!" 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. --有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信 ...

  5. 最小生成树,Prim算法与Kruskal算法,408方向,思路与实现分析

    最小生成树,Prim算法与Kruskal算法,408方向,思路与实现分析 最小生成树,老生常谈了,生活中也总会有各种各样的问题,在这里,我来带你一起分析一下这个算法的思路与实现的方式吧~~ 在考研中呢 ...

  6. lua type 获取 类型

    lua中的类型作一小记 print(type("Hello world")) --> string print(type(10.4*3)) --> number pri ...

  7. pytest - 测试函数的传参:fixture,参数化。必须传入实参

    测试函数的参数只有2个来源:fixture返回,参数化(ddt) 传入的参数必须是实参 pytest - 参数化 在测试用例的前面加上: @pytest.mark.parametrize(" ...

  8. 用NVIDIA NsightcComputeRoofline分析加速高性能HPC的应用

    用NVIDIA NsightcComputeRoofline分析加速高性能HPC的应用 编写高性能的软件不是一件简单的任务.当有了可以编译和运行的代码之后,当您尝试并理解它在可用硬件上的执行情况时,将 ...

  9. Kubernetes 实战——配置应用(ConfigMap、Secret)

    配置容器化应用的方式:①命令行参数:②环境变量:③文件化配置 一.向容器传递命令行参数或环境变量 这两种方式在 Pod 创建后不可被修改 1. 在Docker中定义命令与参数 ENTRYPOINT:容 ...

  10. linux远程和软件包的管理

    远程管理 ssh   用户名@对方IP地址 -X   在本地可以运行对方的图形程序 端口 22 [root@room9pc01 ~]# ssh root@172.25.0.11 [root@serve ...