オクラホマ - これは完全に簡単なはずですが、何らかの理由で - 私はそれを動作させることができません! ( - 本当に私は生、未フォーマット文字列としてそれを得る私はreadabiltyのためにそれをフォーマットしました)生のXML文字列をJavaオブジェクトのリストに変換しますか?
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class PlainOldJavaObject implements Serializable {
private long uuid;
private String name;
public PlainOldJavaObject() {
}
public long getUuid() {
return this.uuid;
}
public void setUuid(long uuid) {
this.uuid = uuid;
}
public String getNamen() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
/* Omitted HashCode & Equals for brevity. */
}
そして、私は、XML次ていると言うことができます::
は、私は、次のPOJOを持って言うことができます
<PlainOldJavaObjects>
<PlainOldJavaObject>
<uuid>8119</uuid>
<name>Jimmy</name>
</PlainOldJavaObject>
<PlainOldJavaObject>
<uuid>2372</uuid>
<name>Johns</name>
</PlainOldJavaObject>
</PlainOldJavaObjects>
私はその地獄でどのようにXMLをListインスタンスに変えますか?
私はXStreamのを使用してみました - 次のように:
XStream xStream = new XStream();
List<PlainOldJavaObject> endResultHopefully = (List<PlainOldJavaObject>) xStream.fromXML(result);
しかし、一見、私の端末に次の印刷されないものをすべて...私はここで間違って
PlainOldJavaObjects : PlainOldJavaObjects
一体何をやっていますか?
注:これをグーグルFROM BECAUSE JAXBのタグを追加 - 私はこれが存在していることを見て、私はそれは私が欲しいものであるかもしれない引き受ける - しかし、私はわからない、多分そのコミュニティの誰かOVERも私のためにいくつかのガイダンスがあるかもしれません?
使用JAXB。これがそうです。 – Rob
jaxbをリストに使用する例は、リストが内部にあるラッパークラスを記述することなく見つけることができません。これは私がこのプロジェクトに変革をもたらすことができるものではありません。 – MickeyThreeSheds
jaxbモデルは、各要素(実際に複合型)をJavaクラスにマップするため、 "PlainOldJavaObjects"要素にクラスが必要なのはこのためです。私の意見では、jaxbを使用する最良の方法は、XSDをXSDから外してコンパイル時にすべてのポーズを生成することです(すべての必要な注釈を使用して)。これは、保守するコードが大幅に少なく、コードパターンは使い慣れています。もしあなたがXMLを使っているなら、Jaxbは間違いなく道のりです。その "力"をどうやって納得させるかは分かりません。幸いです。 – Rob