7.31 XMap
在进行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相关推荐
- 程序员学炒股(7) 股指期货收盘价对第二天开盘价有影响吗?
很多微博和文章都说,股指期货的收盘价对第二天开盘价影响很大,因为股指多交易15分钟,因此对股市的第二天开盘价影响非常大,网上有一个文章是这样说的: "股指期货开盘早于股市15分钟,收盘又晚1 ...
- java xmap_转:使用XMAP完成JavaBean和XML之间转换
XML和Java Bean互相转换是一个很有用的功能,因为两者有着前后合作的关系,但解析的过程比较痛苦.下面介绍如何进行XML和Java Bean的互相转换. 最近项目中用到了xml和java bea ...
- java xmap_XML和Java Bean的互相转换攻略 【XMAP】
XML和Java Bean的互相转换攻略 XML和Java Bean互相转换是一个很有用的功能,因为两者有着前后合作的关系,但解析的过程比较痛苦.下面介绍如何进行XML和Java Bean的互相转换 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良 ...
- 【组队学习】【31期】组队学习内容详情
第31期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: IOS开发 基于Python的办公自动化 吃瓜教程--西瓜书+南瓜书 LeetCode 刷题 李宏毅机器学习(含深度 ...
- 31个好用的 Python 字符串方法,建议收藏!
作者 | 小F 来源 | 法纳斯特 字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它. 今天,就带大家学习一下31个最重要的内置字符串方法. 希望大家能从中找到对自己有帮 ...
- 31页PPT概述:图神经网络表达能力有多强?
整理 | 一一 出品 | AI科技大本营 近年来,图神经网络的研究成为深度学习领域的热点. 图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模,由于图结构的强大表现力,用机器学习方法分析图的 ...
- 第31届NIPS正式开幕,3240篇提交论文创历史新高,公布3篇最佳论文
美国时间12月4日,第31届NIPS在美国加州长滩的会展中心正式开幕! 之所以NIPS广受关注,是因为它在人工智能和机器学习领域具有重要地位,来自全世界的计算机科学家及资深业内人士将在接下来的五天,共 ...
- 科普:String hashCode 方法为什么选择数字31作为乘子
1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 hashCode 的实现,发现并不是很复杂.但是我从源码中发现了一个奇怪的数字,也就是本文的主 ...
最新文章
- Java学习笔记26
- vue 怎么在字符串中指定位置插入字符_vue项目中在可编辑div光标位置插入内容的实现代码...
- mvc4 ajax url参数,MVC4.0中Ajax通过a标签向后台Action传递参数问题?
- 推荐一个非常好用的以多tab标签方式打开windows CMD的工具
- ps中将图片拖不进ps的编辑区的解决方法
- 【洛谷】P4643 【模板】动态dp
- [小技巧][Java]Arrays.fill() 初始化 二维数组
- 面试了一个2年程序员,竟然只会curd,网友神回复!
- .net 数据存储 mysql_asp.net实现存储和读取数据库图片
- Android Key Hash的生成
- apt-cyg 代理设置
- excel两个表格数据对比_常简单又实用的Excel数据对比技巧
- 推理的2种方式:演绎和归纳
- 计算机表格 求差,Word怎么在表格中计算差
- 动态网站加速,cdn义不容辞
- 大众点评字体_大众点评字体加密
- Windows10商店安装Ubuntu 18.04 LTS
- ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xB5\xB5\xE9\x9B\xB7‘ for column ‘s_name‘ at row 1
- elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增
- Android APP一段时间无操作显示屏保