当前位置: 首页 > 面试题库 >

编组时如何防止JAXB绑定@XmlRootElement的超类方法?

路和悌
2023-03-14
问题内容

我有一个标注为A类@XmlRootElement@XmlAccessorType(XmlAccessType.NONE)。我遇到的问题是,当我不希望绑定超类的方法并且无法更新该类时,就将其绑定。我希望可以在根元素类上添加一个注释,以防止发生这种情况。

例:

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Person extends NamedObject {

    @XmlElement
    public String getId() { ... }

}

我希望,只有注释的方法@XmlElementPerson会被束缚和整理,但超类的方法都是约束,也是如此。这样,生成的XML就会包含太多信息。

如何避免不必注释超类本身而绑定超类的方法?


问题答案:

根据此StackOverflow帖子:
我如何忽略超类?

JAX-B不能在不修改超类的情况下忽略超类。引用该帖子的相关部分:

Update2:我在java.net上发现了
一个类似问题的线程。该线程导致了一个增强请求,该请求被标记为另一个问题的重复
,从而导致了@XmlTransient注释。对这些错误报告的评论使我相信在当前规范中这是不可能的。



 类似资料:
  • 我可以阻止Guice向DemoInstance的构造函数提供DemoUnbound的实例吗? 从本质上说,我正在寻找一种在完全显式绑定模式下运行Guice的方法,其中注入未绑定的类是一个错误。 如何使Guice注入未绑定到模块中的类成为错误?

  • 问题内容: 我一直在尝试JAXB教程,并设法使代码能够从Java对象生成XML文件,然后能够使用XML生成Java对象。目前,它读取同一类的多个实例以创建一个类似于以下内容的XML文件 我希望能够使用JAXB技术来处理子类。例如:说我有一个Car,Van和Bicycle对象,它们是Vehicle的子类。我是否可以操纵我的JAXB类来编写一个会产生类似结果的XML文件?我在下面提供了我正在使用的代码

  • 有人曾经能够使用JAXB在对象列表中删除未使用的命名空间吗?这是请求功能的链接:https://github.com/javaee/jaxb-v2/issues/103(见描述) 是否有用于为此配置 JAXB 的属性?这个问题在MOXy中是否已修复? 我目前正在遍历需要封送的对象,并提取所有需要绑定到。然后我创建一个新的 未使用的名称空间现在不包含在XML中。 我知道即使使用未使用的名称空间,xm

  • 我们试图使用gradle、xsd和xjc生成JAXB类,JAXB类应该具有XmlRootElement注释,以便可以将其作为web服务响应公开。我们正在跟踪这个链接http://azagorneanu.blogspot.com/2011/09/configure-maven-to-generate-classes.html,这很有帮助,但我们无法找到一个只有gradle的特定示例。所以我们想出了一

  • 问题内容: 我正在尝试从FpML(金融产品标记语言)4.5版生成Java类。生成了大量代码,但是我不能使用它。尝试序列化一个简单的文档,我得到以下信息: 实际上,没有任何类具有@XmlRootElement批注,那么我该怎么做呢?我将xjc(JAXB 2.1)指向fpml-main-4-5.xsd,其中包括所有类型。 问题答案: v

  • 问题内容: 在开发过程中,本地WAMP服务器如何从测试服务器获取最新数据是对数据库进行了转储,然后使用source命令上载该转储以加载.sql文件。 最近,在导入的最后,我们遇到了有关@old变量的错误,这些变量在更改原始设置(如外键约束)之前存储了这些设置(因此请关闭外键约束,以使导入不会在以下情况下引发错误)它会重新创建表,并在尚未创建表之一时尝试创建外键。我发现原因是产品表获取越来越多的数据