gpt4 book ai didi

java - JAXB 包装所有字段

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

目前我有一个简单的类设置:

@XmlRootElement (name = "MyRoot")
public class MyClass {

@XmlElement (name = "String1") private String string1;
@XmlTransient public String getString1() { return this.string1; }
public void setString1(String string1) { this.string1 = string1; }

@XmlElement (name = "String2") private String string2;
@XmlTransient public String getString2() { return this.string2; }
public void setString2(String string2) { this.string2 = string2; }
}

我希望从 JAXB 处理时类的输出如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyRoot>
<MyWrapper>
<String1>ABC</String1>
<String2>XYZ</String2>
</MyWrapper>
</MyRoot>

我的问题是:

  1. 有没有办法在不创建使用 @XmlRootElement(name = "MyWrapper" 设置的内部类的情况下执行此操作?这是 JAXB 的简单限制吗?
  2. 这是 JAXB 的限制吗?
  3. 是否可以编写/实现某种类型的自定义编码和解码对象来处理这种类型的场景?

最佳答案

这怎么是一个限制,显然String1和String2是MyClass的成员,除非你重新定义他们的 parent ,否则它不会只是这样改变。

建议,将它们设置为 transient ,使用方法注释,并返回两者的数组

关于java - JAXB 包装所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24410104/

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