私はxStreamを使ってXMLを操作しています。すべては大丈夫です。 XMLアーカイブなどを載せる。しかし、私は問題があります:xStreamの問題 - 複数のオブジェクトを逆シリアル化する方法
例:My XMLにはタグが含まれています。この中には<comment>
という名前のタグがいくつかあります。サンプルコードをご覧ください:
<comments>
<comment>
<id>1</id>
<desc>A comment</desc>
</comment>
<comment>
<id>2</id>
<desc>Another comment</desc>
</comment>
<comment>
<id>3</id>
<desc>Another one comment</desc>
</comment>
</comments>
そして進歩的です。 タグ内に500個のタグを置くことができます。そして、これらのコメントはタイプコメントです。
これらのタグをすべてクラスに追加するには、xStreamを使用してシリアル化する方法を教えてください。私はクラスにどのようにして様々なオブジェクトを受け取るかをしません。
明らかに、私はこれを配列などで作成します。 しかし、私はこれをどうやってできるのか分かりません。ニシャンがで述べたように、Additionaly
XStream xstream = new XStream();
xstream.alias("comments", Comments.class);
xstream.alias("comment", Comment.class);
xstream.addImplicitCollection(Comments.class, "comments");
Comments comments = (Comments)xstream.fromXML(xml);
:あなたの非整列化ロジックは、次にようなものになるだろう
public class Comment {
long id
String desc
}
public class Comments {
List<Comment> comments = new ArrayList<Comment>();
}
:そのXML用
あなたのxmlルックス:あなたはこれを必要
が非整列化少し離れている。 ''タグは' 'タグで終わり、 ''タグで終わらないはずです。また、これはあなたが探しているものです:http://stackoverflow.com/questions/3136234/xstream-root-as-a-collection-of-objects? –
Nishan
[この質問](http://stackoverflow.com/questions/3824362/xstream-alias-of-list-root-elements)も同様です。 –