问题提出
对于现在的开发者来说,XML的解析有许多可用的工具,包括将XML转化为javaBean。但是仍然不够灵活,如下。
现有XML原文如下所示
<INFO>
<head>
<token>abcd12345678dcba</token>
<msg_id>2018121236214125</msg_id>
</head>
<body>
<name>张三</name>
<age>25</age>
<msg>你好啊</msg>
</body>
</INFO>
有javaBean如下所示
public class MyBean{
private String token;
private String msgId;
private String name;
private Integer age;
private String msg;
// 省略getter setter
}
欲将上面的XML信息转化为JavaBean仍然是比较难受的。使用现有的大部分工具都无法简单的完成。
一、 通过自定义注解构建映射关系
通过上面的例子我们想要的是:能有一个自定义映射,将XML指定的消息封装到javaBean的指定字段中。
思路如下:
- 编写一个自定义的注解,该注解主要使用在javaBean的类或字段上
- 该注解需要一个参数,参数用来指定该字段对应的XML上的指定路径值
- 这个路径可以使用XPath语法规范,同时也方便我们解析
- 编写解析工具类,将XML信息封装到javaBean中
自定义的注解
/**
* XPath 路径注解
*/
@Retention(RetentionPolicy.<