私は ElementTree をしばらく使用していますが、あまり成功していないことがあります。このキングオブツリーを含むXMLファイルを取得しました:
<root>
<page>
<revision>
<username>Name</>
<ID>124</>
<Adress_ip></>
<revision>
<username></>
<ID>125</>
<Adress_ip>192.168.0.1</>
私がやろうとしているのは、ユーザー名と Adress_ip の両方を同じ要素に入れることです。より正確には、ユーザー名が空の場合、Adress_IP で見つかったテキストを入力しようとしています。同じ要素で同時に両方が存在することはありません。
これまでのところ、私はこのようなコードを試していました。問題?このスクリプトは if 文を実行したくないため、ユーザー名のないすべての要素を空白のままにします。もちろん、これは私が望んでいたものではありません。
for contributor in tree.iter("revision"):
for username in contributor.findall('username'):
vide = username.text.find("")
if username.text == vide:
for userip in contributor.findall('ip'):
revision.set('username', userip.text)
else:
revision.set('username', username.text)