在进行handlers消息控制的时候注意到一个奇怪的地方就是通过经常看到@XObject @XNode一些注解呢   就了解到这个XMap,找到了个简明的XMap介绍  就是一个将XM转化为java对象的类库。安装文档进行了一下尝试。

package com.huy;import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
@XObject(value="Book")
public class Book {@XNode()private String title;@XNodeList(value = "subject", type = String[].class, componentType = String.class)private String[] subjects;@XNode("name")private Name name;public String getTitle() {return title;   }public void setTitle(String title) {this.title = title;}public String[] getSubjects() {return subjects;}public void setSubjects(String[] subjects) {this.subjects = subjects;}public Name getName() {return name;}public void setName(Name name) {this.name = name;}
}
package com.huy;import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XObject;@XObject
public class Name {@XNode("firstName")private String firstName;@XNode("lastName")private String lastName;public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}}
package com.huy;import java.io.File;
import java.net.URL;import org.nuxeo.common.xmap.XMap;public class Test {public static void main(String[] args) throws Exception {XMap xmap = new XMap();xmap.register(Book.class);xmap.register(Name.class);URL url = new File("book.xml").toURL();Object[] result = (Object[]) xmap.loadAll(url);for (Object element : result) {Book book = (Book) element;System.out.println(book.getTitle());// do something with that book// ...}}
}
<?xml version="1.0"?>
<library><Book id="book1"><title>Book 1</title><subject>Software</subject><subject>Computers</subject><name><firstName>JohnFirstName</firstName><lastName>JohnLastName</lastName></name></Book><Book id="book2"><title>Book 2</title><subject>Sport</subject><name><firstName>BillFirstName</firstName><lastName>BillLastName</lastName></name></Book>
</library>

那这里要注意的就是注解中的value值是对应xml文件里的标签  ,区分大小写的。

7.31 XMap相关推荐

  1. 程序员学炒股(7) 股指期货收盘价对第二天开盘价有影响吗?

    很多微博和文章都说,股指期货的收盘价对第二天开盘价影响很大,因为股指多交易15分钟,因此对股市的第二天开盘价影响非常大,网上有一个文章是这样说的: "股指期货开盘早于股市15分钟,收盘又晚1 ...

  2. java xmap_转:使用XMAP完成JavaBean和XML之间转换

    XML和Java Bean互相转换是一个很有用的功能,因为两者有着前后合作的关系,但解析的过程比较痛苦.下面介绍如何进行XML和Java Bean的互相转换. 最近项目中用到了xml和java bea ...

  3. java xmap_XML和Java Bean的互相转换攻略 【XMAP】

    XML和Java Bean的互相转换攻略  XML和Java Bean互相转换是一个很有用的功能,因为两者有着前后合作的关系,但解析的过程比较痛苦.下面介绍如何进行XML和Java Bean的互相转换 ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良 ...

  5. 【组队学习】【31期】组队学习内容详情

    第31期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: IOS开发 基于Python的办公自动化 吃瓜教程--西瓜书+南瓜书 LeetCode 刷题 李宏毅机器学习(含深度 ...

  6. 31个好用的 Python 字符串方法,建议收藏!

    作者 | 小F 来源 | 法纳斯特 字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它. 今天,就带大家学习一下31个最重要的内置字符串方法. 希望大家能从中找到对自己有帮 ...

  7. 31页PPT概述:图神经网络表达能力有多强?

    整理 | 一一 出品 | AI科技大本营 近年来,图神经网络的研究成为深度学习领域的热点. 图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模,由于图结构的强大表现力,用机器学习方法分析图的 ...

  8. 第31届NIPS正式开幕,3240篇提交论文创历史新高,公布3篇最佳论文

    美国时间12月4日,第31届NIPS在美国加州长滩的会展中心正式开幕! 之所以NIPS广受关注,是因为它在人工智能和机器学习领域具有重要地位,来自全世界的计算机科学家及资深业内人士将在接下来的五天,共 ...

  9. 科普:String hashCode 方法为什么选择数字31作为乘子

    1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 hashCode 的实现,发现并不是很复杂.但是我从源码中发现了一个奇怪的数字,也就是本文的主 ...

最新文章

  1. Java学习笔记26
  2. vue 怎么在字符串中指定位置插入字符_vue项目中在可编辑div光标位置插入内容的实现代码...
  3. mvc4 ajax url参数,MVC4.0中Ajax通过a标签向后台Action传递参数问题?
  4. 推荐一个非常好用的以多tab标签方式打开windows CMD的工具
  5. ps中将图片拖不进ps的编辑区的解决方法
  6. 【洛谷】P4643 【模板】动态dp
  7. [小技巧][Java]Arrays.fill() 初始化 二维数组
  8. 面试了一个2年程序员,竟然只会curd,网友神回复!
  9. .net 数据存储 mysql_asp.net实现存储和读取数据库图片
  10. Android Key Hash的生成
  11. apt-cyg 代理设置
  12. excel两个表格数据对比_常简单又实用的Excel数据对比技巧
  13. 推理的2种方式:演绎和归纳
  14. 计算机表格 求差,Word怎么在表格中计算差
  15. 动态网站加速,cdn义不容辞
  16. 大众点评字体_大众点评字体加密
  17. Windows10商店安装Ubuntu 18.04 LTS
  18. ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xB5\xB5\xE9\x9B\xB7‘ for column ‘s_name‘ at row 1
  19. elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增
  20. Android APP一段时间无操作显示屏保

热门文章

  1. 【第3版emWin教程】第8章 emWin6.x的带OS方式移植(STM32H7之RGB接口)
  2. 将请求返回的图片转为Base64形式显示在页面上
  3. 塞雷三分钟漫画中国史4
  4. 简单实用的电梯停电报警电路_光电报警电子电路图讲解
  5. iass、pass、saas
  6. SQL数据库根据指定字段去重
  7. 【改进模糊神经网络】基于粒子群-万有引力算法PSOGSA 改进的前馈神经网络研究(Matlab代码实现)
  8. 似然函数、最大似然估计简单理解
  9. Scala中过滤操作filter与filterNot函数
  10. SQL注入分类、防御