我已将jaxb库更新为2.0版。 我使用以下jar,jaxb-api-2.0.jar和jaxb-imp-2.0.jar。 现在的问题是,它没有使用@XmlRootElement(name =“something”)。 但是在前面的库的帮助下,xml在生成的xml中使用了定义的名称“something”。现在,它采用驼峰式的类名,而不是name属性中定义的“something”。这是最新的jaxb库的错误吗?请帮忙!
答案 0 :(得分:1)
以下是一个可能有用的示例。 @XmlRootElement
注释将控制XML文档的根元素的名称。如果要控制内部元素的名称,可以使用@XmlElement
注释。
<强> SomeObject 强>
package forum9272675;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="something")
public class SomeObject {
private SomethingElse somethingElse;
@XmlElement(name="something-else")
public SomethingElse getSomethingElse() {
return somethingElse;
}
public void setSomethingElse(SomethingElse somethingElse) {
this.somethingElse = somethingElse;
}
}
<强> SomethingElse 强>
package forum9272675;
public class SomethingElse {
}
<强>输出强>
<?xml version="1.0" encoding="UTF-8"?>
<something>
<something-else/>
</something>
答案 1 :(得分:0)
在我的子类中,我使用的是@XmlRootElement(name =“some-thing”)。除此之外,当我使用@XmlType(name =“some-thing”)时,我的问题得到了解决!