4

DOM パーサーを使用しています。次の XML を解析する必要があります。

    <abc>
       <type action="">
          <code>test</code>
          <value>001</value>
       </type>
       <type action="">
          <code>test2</code>
          <value>002</value>
       </type>
    </abc>

そのため、valueフィールドの下のtypeフィールドによっては、フィールドにaction属性を入力する必要がありtypeます。私は少し困惑しています。フィールドの値を取得できますが、value戻って属性を追加する方法がわかりません。

どんな助けでも大歓迎です!!!

ありがとう!

4

2 に答える 2

4

戻るには、その子type Elementにトラバースする前にへの参照を保存するだけです。value(すでに訪問したと仮定します)。

値を変更するには、setAttribute()メソッドを使用します。

編集:

別の方法:valueテキスト ノードからgetParentNode()2 回呼び出し (値要素に戻るために 1 回、型要素に戻るために 1 回)、setAttribute()必要なキャストを行った後に呼び出します。

于 2012-10-09T19:23:26.123 に答える
1

のようなものを試してください

nodelist = doc.getElementsByTagName("value");
for (Element element : nodelist) {
Element parent = element.getParentNode()
parent.setAttribute("action", "attrValue");
}
于 2012-10-09T19:29:23.537 に答える