0

この特定の XML ファイルを取得しました。次のようになります。

<App01_Storage Type="VOLATILE" Size="200000" Speed="15" LatencyMaxWrite="1" LatencyMaxRead="2" Endurance="12" WorkloadPeak="15" />

私のプログラムでは、ルート ノードのすべての子を反復処理します。私の意図は、属性 + 値を持つすべての子を取得することです。1 つの子は上記のコードのようになります。

System.out.println(node.getName());
System.out.println(node.getAttributes());

System.Out-Method は、次の出力を提供します: App01_Storage [[Attribute: Type="VOLATILE"], [Attribute: Size="200000"], [Attribute: Speed="15"], [Attribute: LatencyMaxWrite="1 "]、[属性: LatencyMaxRead="2"]、[属性: Endurance="12"]、[属性: WorkloadPeak="15"]]

私は正しい道を進んでいると思います。私の理解によると、1 つの属性は次のようになります。

属性と値を別のクラスに保存したいのですが、値と名前を別々に取得する方法がわかりません。私が今得ている出力は、1 つの文字列のように、各エントリが Attributename = Attributevalue のリストです。この単一の文字列では、作業できません。

私は何か間違っているのですか?うまくいけば、私は自分自身を説明できます。どうもありがとう:)

4

1 に答える 1

2

node.getAttributes()繰り返し反復できる属性のリストを提供します。toString()表示される出力は、リストを に渡すときに呼び出されるリスト メソッドの結果ですSystem.out.println()

次のようにします。

for(Attribute attribute : node.getAttributes()) {
    String attributeName = attribute.getName();
    String value = attribute.getValue();
}

すでに特定の型を返す他の get メソッドもあります ( などgetIntValue())。ドキュメントを見てくださいAttribute

于 2013-08-16T13:47:03.503 に答える