要使用JAXB(Java for XML)将XML中的内容封装成Java对象,首先需要创建一个Java对象类。
例子:
假设有以下XML文件.xml:
贾达·德
2005年
30:00
哈利
杰康
2005年
29.99
XML
埃里克·T·雷
2003年
39.95
然后创建一个Book.java类:
@(名称=“书”)
类书{
@(名称=“”)
;
@(名称=“标题”)
标题;
@(名称=“”)
;
@(名称=“年份”)
整数年;
@(名称=“价格”)
价格; 价格;
空白 ( ) {
这。 = ;
无效(标题){
this.title = 标题;
空白 ( ) {
这。 = ;
void(整数年份){
this.year = 年;
无效(价格){
这个.价格 = 价格;
() {
;
() {
标题;
() {
;
整数(){
年;
() {
价格; 价格;
创建另一个 .java 类以将所有 Book 对象封装在 XML 中:
@(名称=“”)
班级 {
@(名称=“书”)
列出书籍;
列表 () {
图书;
void(列出书籍){
this.books = 书籍;
最后,用Java代码读取XML文件并将其转换为Java对象:
文件 file = new File(".xml");
= .(.class);
= .();
存储 = () .(文件);
XML文件最终转换成的Java对象可以转换成Map对象。 您可以使用以下代码将 Java 对象转换为 Map 对象:
地图(对象){
地图map=new();
尝试 {
类 clazz = obj.();
for (字段字段: clazz.()) {
字段。(真);
= 字段.();
= 字段.get(obj);
地图.put(, );
} 捕获 (e) {
e.();
地图;
使用示例:
存储 = () .(文件);
列出书籍= store.();
对于(书本:书籍){
地图=(书);
该方法将返回一个Map对象,其中包含所有Java对象的信息。
-------------------------------------------------- ----------------------------------
将 Java 对象(Map)转换为 XML
使用 JAXB 将 Java Map 对象转换为 XML 文件。 首先您需要创建一个 .java 类:
@(名称=“jmap”)
班级 {
地图;
() {
(地图) {
this.map = 地图;
@(名称=“条目”)
列表 () {
设置> = 地图.();
列表列表=new();
对于(条目条目:){
list.add(new Entry(entry.(),entry.()));
列表;
类条目{
钥匙;
价值;
入口() {
条目(键,值){
this.key = 键;
this.value = 值;
@
() {
钥匙;
无效(键){
this.key = 键;
@
() {
价值;
无效(值){
this.value = 值;
其中.Entry类用于表示Map中的每一项。 然后,用 Java 代码将 Map 对象转换为 XML 文件:
地图 myMap = new();
myMap.put("姓名", "无名氏");
myMap.put("年龄", 25);
myMap.put("", true);
= .(.class);
= .();
.(.T,正确);
.(new (() myMap), new File("out.xml"));
该方法最终将Java对象转换为XML文件。