gpt4 book ai didi

java - JAXB Schemagen(v.7.0.450.18): change XmlElement name and XmlType(propOrder={. ..})

转载 作者:太空宇宙 更新时间:2023-11-04 14:52:36 25 4
gpt4 key购买 nike

我在使用 schemagen 自动生成 XSD 文件方面遇到了一些困难。首先,我必须告诉,我正在大学的一个项目工作,除了注释之外,不得更改我的 java 类代码中的任何内容...

所以,基本上我要做的就是重命名我的一些 XmlElements 并必须将它们放入特定的顺序。我想,我可以这样解决这个问题:

@XmlType(propOrder = { "email", "id", "name", "publication" })
public class Author {
...
private List<Publication> publications = new LinkedList<>();
...
@XmlElement(name = "publication")
public List<Publication> getPublications() {
return publications;
}
public void setPublications(List<Publication> publications) {
this.publications = publications;
}

XmlAccessorType 的默认值为@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)。但是当我尝试使用 schemagen 生成 XML 模式(在 Eclipse 和命令行中...)时,出现以下错误:

Property publications is present but not specified in @XmlType.propOrder

Property publication appears in @XmlType.propOrder, but no such property exists. Maybe you meant publications?

所以,对我来说这听起来有点矛盾,因为 schemagen 似乎完全忽略了我指定的内容......有人能告诉我问题出在哪里吗?

非常感谢!

最佳答案

propOrder 基于映射的字段/属性名称,而不是 XML 属性或元素的名称。

关于java - JAXB Schemagen(v.7.0.450.18): change XmlElement name and XmlType(propOrder={. ..}),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com