私はxstreamを使用して、一部のXMLをJavaオブジェクトに変換しています。XMLパターンは次の形式です。
<Objects>
<Object Type="System.Tuning" >4456</Object>
<Object Type="System.Lag" >7789</Object>
</Objects>
基本的に、親Objectsタグはn個のObjectタグを持つことができます。このために、私は次のようにクラスをモデル化しました。
class ParentResponseObject {
List <ResponseObject>responseObjects = new ArrayList<ResponseObject>();
public ParentResponseObject() {
// TODO Auto-generated constructor stub
}
}
class ResponseObject {
String Type;
String Value;
public ResponseObject() {
}
}
そして最後に、以下のコードを使用してJavaクラスにデータを入力しています。
XStream s = new XStream(new DomDriver());
s.alias("Objects", src.core.PowerShell.MyAgain.ParentResponseObject.class);
s.alias("Object", src.core.PowerShell.MyAgain.ResponseObject.class);
s.useAttributeFor(src.core.PowerShell.MyAgain.ResponseObject.class, "Type");
s.addImplicitCollection(src.core.PowerShell.MyAgain.ParentResponseObject.class, "responseObjects");
ParentResponseObject gh =(ParentResponseObject)s.fromXML(k1);
このuseAttribute
メソッドを使用すると、オブジェクトタイプの「Type」属性を読み取ることができますが、4456、7789などのタグ内の値を読み取り、変数.valueに入力するにはどうすればよいですかResponseObject
。