1

鉴于:

@XmlRootElement(name = "foo")
class Foo {
   public Bar getBar() {...}
}

class Bar {
   @XmlElement(name = "string")
   public String getString() {return "hello";}
}

我如何注释,所以 XML 将是:

<foo>
   <string>hello</string>
</foo>
4

3 回答 3

4

您可以利用@XmlValue注释执行以下操作。

@XmlRootElement
class Foo {
    @XmlElement(name="string")
    public Bar getBar() {...}
}

酒吧

class Bar {
    @XmlValue
    public String getString() {return "hello";}
}

了解更多信息

于 2012-12-27T10:18:28.033 回答
1

您可能需要在课堂上使用@XmlSeeAlso注释。

当您希望在 XML 输出中包含另一个实体 bean 时,可以使用 @XmlSeeAlso 注释。你能在你的 Foo 课上试试这个吗

@XmlRootElement(name = "foo")
@XmlSeeAlso(Bar.class)
class Foo {
   public Bar getBar() {...}
}

更新1:

对于删除 XML 中的 bar 标记的评论,请尝试使用EclipseLink JAXB (MOXy) 的. @XmlPath 将解决您的问题。

@XmlRootElement(name = "foo")
@XmlSeeAlso(Bar.class)
class Foo {
   @XmlPath(".")
   public Bar getBar() {...}
}

有关详细信息,请参阅此处

于 2012-12-27T07:38:22.093 回答
-1

我不确定您是否可以从生成的 XML中消除标签栏:

http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/2.0/tutorial/doc/JAXBUsing4.html#wp148576

于 2012-12-27T07:38:51.633 回答