0

Java オブジェクトをシンプルにシリアル化すると、キャメル ケースの問題が発生しました。CamelCaseStyleを使用すると、すべてのノードの名前がキャメルケースになりますが、特定のノードで例外が必要です。どうすれば設定できますか? たとえば、私のコードは次のとおりです。

public class Message {
    String toUserName;
    @ElementList(entry="item")
    LinkedList<Article> articles;

    public static void main(String args[])
    {
            Message msg = new Message();
            msg.toUserName = "xxx";
            Article item = new Article();
            item.title = "aaa";
            LinkedList<Article> list = new LinkedList<Article>();
            list.add(item);
            msg.articles = list;

            Style style = new CamelCaseStyle();
            Format format = new Format(style);
            Serializer serializer = new Persister(format);
            OutputStream os = new ByteArrayOutputStream();
            try {
                    serializer.write(msg, os);
            } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
            System.out.print(os);
    }
}

生成される xml は次のとおりです。

<Message>
 <ToUserName>xxx</ToUserName>
 <Articles>
  <Item>
     <Title>aaa</Title>
  </Item>
 </Articles>
</Message>

私が欲しいのは:

<Message>
 <ToUserName>xxx</ToUserName>
 <Articles>
  <item>
     <Title>aaa</Title>
  </item>
 </Articles>
</Message>
4

1 に答える 1

0

はい、CamelCaseStyle の setElement メソッドを見て、「item」を「item」に次のように設定します。

camelCaseStyle.setElement("item", "item")
于 2013-09-27T11:33:31.227 に答える