java xml 变量替换_Java JAXB如何将XmlElements重新定义为现有变量
当使用jaxb进行解组时,我在A类中有一些东西:
public class A {
@XmlElements( { //
@XmlElement(name = "g", type = A.class),
@XmlElement(name = "x", type = X.class),
@XmlElement(name = "y", type = Y.class),
})
List children;
}
也就是说,我有一个列表,孩子,由X:s和Y:s组成
现在我的问题:我想继承A,我想
重新定义’XmlElements’列表并将其绑定到同一个变量’children’,
喜欢:
public class B extends A {
@XmlElements( { //
@XmlElement(name = "g", type = B.class),
@XmlElement(name = "x", type = X.class),
@XmlElement(name = "y", type = Y.class),
@XmlElement(name = "z", type = Z.class),
})
List children;
}
以上问题有两个方面:
>我创建了一个新的变量children,我想引用A类中的变量.
>我想避免重新指定’x’和’y’,因为它们已在’A’中指定.
是否有一些良好的模式来实现这一目标?
或者一些关于如何构建这样的东西的指针/文章或其他信息?
解决方法:
没有避免重复声明注释,但是您可以将注释从字段移动到getter方法,只要您使用@XmlAccessorType注释告诉JAXB查找公共getter方法而不是字段.
因此,您可以使用新的注释集覆盖B类中的getChildren():
@XmlAccessorType(PROPERTY)
public class A {
private List children;
@XmlElements( { //
@XmlElement(name = "g", type = A.class),
@XmlElement(name = "x", type = X.class),
@XmlElement(name = "y", type = Y.class),
})
public List getChildren() {
return children;
}
public void setChildren(List children) {
this.children = children;
}
}
@XmlAccessorType(PROPERTY)
public class B extends A {
@XmlElements( { //
@XmlElement(name = "g", type = B.class),
@XmlElement(name = "x", type = X.class),
@XmlElement(name = "y", type = Y.class),
@XmlElement(name = "z", type = Z.class),
})
public List getChildren() {
return super.getChildren();
}
}
我不确定的是JAXB将如何处理重写的getChildren()方法.希望它能从B中获取注释,但它可能会让人感到困惑.
试试看吧.
标签:java,jaxb
来源: https://codeday.me/bug/20190705/1385160.html
java xml 变量替换_Java JAXB如何将XmlElements重新定义为现有变量相关推荐
- java xml解析器_Java XML解析器
java xml解析器 Java XML parser is used to work with xml data. XML is widely used technology to transpor ...
- java pdf 图片替换_Java 添加、替换、删除PDF中的图片
Java 添加.替换.删除PDF中的图片 本文介绍通过java程序向PDF文档添加图片,以及替换和删除PDF中已有的图片. 工具:Free Spire.PDF for Java (免费版) Jar获取 ...
- java word标签替换_JAVA实现替换WORD模板中的文字和图片
1.本来有其他方法可以实现的,但是由于jar包一直有问题所以换了种,要是还有其他的更好的方法,希望可以讨论 2.废话不说直接上代码: 3.我自己加了个生成图片的方法,也可以不需要直接用已经存在的图片替 ...
- java 文件 模板 替换_JAVA 处理Word模板文件,替换其中的占位符
1.java处理word是个大大的坑,无论是poi还是Java2word 都不是尽善尽美. 2.poi只能进行简单读操作,Java2word需要调用系统的com接口,系统机必须安装office和动态链 ...
- java xml添加节点_Java对XML节点的修改、添加、删除 –By Xstream框架
在J2EE.Java项目中对xml操作是一项非常常见的事情,在我认识了XStream以后,才彻底明白XML模型对象的概念,使用XStream让我XML的设计不由自主更符合OO的风格.另外,除了在设计上 ...
- java xml dom4j 解析_Java使用DOM4J解析XML
Dom4J方式解析XML文件.dom4j是非官方提供的xml文件解析方式,因此需要去第三方下载dom4j的jar包 File file = new File("D:\\chengmuzhe\ ...
- java xml数据解析_java xml解析,数据读取
xml格式<?xmlversion ="1.0"encoding="UTF-8"?> xml格式 32 寺坡镇管理员 202cb962ac59075 ...
- java xml读取方法_Java读取XML文件的方法
Java读取XML文件的方法 发布时间:2020-08-19 14:39:08 来源:亿速云 阅读:63 作者:小新 这篇文章主要介绍了Java读取XML文件的方法,具有一定借鉴价值,需要的朋友可以参 ...
- java xml特殊字符转义_Java中将xml文件转化为json遇到特殊字符会报错!
前言: 我们在项目开发中,有时候调用别人提供的接口,接收到的数据是xml,这时候为了方便后续开发中的使用,需要解析xml并把数据转化成json,今天这篇文章就讲解下如何把xml转化成json,并在这个 ...
最新文章
- mac 思科 链路聚合_TCP/IP协议栈-之-数据链路层分析
- websocket session超时_SSE(ServerSent Events):替代websocket完成服务器推送
- 读书笔记—《销售铁军》随记9-最后一篇
- Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏
- BZOJ 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复(最大生成树)
- node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用(转)
- centos6.5lamp环境搭建
- LeNet卷积神经网络
- paip.提升用户体验---控件透明的设置
- 单片机无线通信学习笔记
- 使用kind快速搭建本地k8s集群
- html让图片悬浮在网页,网页制作灰度图片悬浮效果利用HTML5和jQuery实现
- 基于 HTML5 WebGL 的 3D 水泥工厂生产线
- Android通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
- 韩国驾驶照换中国驾驶照
- PS 2019 Mac版 自学入门系列(二)——区域选中
- Revit结合Dynamo建立某大桥下部结构-承台
- 导出Excel时出现80080005错误的解决办法
- windows installer服务坏了修复方法
- 程永强 - Yongqiang Cheng
热门文章
- Boost库之circular_buffer
- K-means算法、高斯混合模型 matlab
- python 中的for i in range()的使用(for _ in range())
- 8.文本处理(编码解码/文件操作)
- java里注释为什么报错_这些年我们在java中遇到过的坑,你遇到过几个
- mysql user表添加记录_《MySQL数据操作与查询》- 返校复习课练习题,创建数据库user_system,创建数据表user及user_ext...
- 免安装mysql8_MySQL数据库之MYSQL-8.0.11-WINX64(免安装版)配置
- python爬虫用urllib还是reques,python爬虫中urllib.request和requests有什么区别?
- 使用gcc的-finstrument-functions选项进行函数跟踪
- thttpd + Cgicc