11

Jackson で xml を作成しようとしていますが、必要なようにリストを表示できません。私は得ています:

<Messages>
  <Messages>...</Messages>
  <Messages>...</Messages>
</Messages>

私はそれが次のようになりたい:

<Messages>
  <Message>...</Message>
  <Message>...</Message>
</Messages>

私のコードは次のようになります。

  public List<Message> messages;

その変数に名前を付けると、すべての子要素が同じ名前になります。これは他の場所で回答されていると確信していますが、私の問題を解決するものは何も見つかりません. 助けてくれてありがとう。

4

5 に答える 5

26

依存関係を追加せずにこれを行う簡単な方法を見つけました。注釈を使用するだけです。

@JacksonXmlElementWrapper(localName = "Messages")
@JacksonXmlProperty(localName = "Message")

この質問は、私を正しい方向に向けたものです。 Jackson XML は、コンテナー タイプの要素名をグローバルに設定します。このアノテーションについては、こちらの github ページでも読むことができます

于 2013-06-13T20:26:10.837 に答える
5

次のような JAXB アノテーションを試してください。

 @XmlElementWrapper(name = "Messages")
  // XmlElement sets the name of the entities
  @XmlElement(name = "Message")
  public List<Message> messages;

Jackson で JAXB アノテーションを使用する方法については、 http: //wiki.fasterxml.com/JacksonJAXBAnnotationsを参照してください。

優れた JAXB チュートリアルがここにあります。

http://www.vogella.com/articles/JAXB/article.html

そしてここ:

https://jaxb.java.net/tutorial/index.html

于 2013-06-12T20:22:16.873 に答える