gpt4 book ai didi

java - Jaxb,避免重复的 xml 标签

转载 作者:行者123 更新时间:2023-12-01 09:09:19 24 4
gpt4 key购买 nike

我在实现 Jaxb java 类时遇到问题。我的 xml 响应应该是这样的:

 <rootElement attr1="value1" attr2="value2">
<child> childValue </child>
</rootElement>

这是我的java类:

 @XmlRootElement
public class RootElement {
private String attr1;
private String attr2;
private Child child;

@XmlAttribute
public String getAttr1() {
return attr1;
}

public void setAttr1(String attr1) {
this.attr1 = attr1;
}

@XmlAttribute
public String getAttr2() {
return attr2;
}

public void setAttr2(String attr2) {
this.attr2 = attr2;
}

public void setChild(Child c) {
child = c;
}

@XmlElement
public Token getChild() {
return child;
}
}

这是 child :

 public class Child {

private String child;

public Child() {

}

public void setChild(String child) {
this.child = child;
}

public String getChild() {
return child;
}

}

我获得这个xml:

 <rootElement attr1="value1" attr2="value2">
<child><child>childValue</child></child>
</rootElement>

出了什么问题?

最佳答案

第一个<child>child 生产RootElement 类的变量。
第二个<child>child 生产Child 类的变量。

如果您可以确保 Child 类中只有一个映射,则可以添加 @XmlAnyElementchild多变的。 JAXP 将不会产生第二个 <child>元素。

public class Child {

@XmlAnyElement
private String child;

public Child() {
}

public void setChild(String child) {
this.child = child;
}
public String getChild() {
return child;
}
}

关于java - Jaxb,避免重复的 xml 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41016445/

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