XML に多くの行があり、特定のノード属性のインスタンスを取得しようとしています。
<foo>
<bar>
<type foobar="1"/>
<type foobar="2"/>
</bar>
</foo>
属性 の値にアクセスするにはどうすればよいですかfoobar
? この例では、 および が必要"1"
です"2"
。
ベストアンサー1
私は提案しますElementTree
同じAPIの互換性のある実装としては、次のようなものがあります。lxml
、そしてcElementTree
Python 標準ライブラリ自体にも存在しますが、このコンテキストでは、主に追加されるのはさらなる速度です。プログラミングの容易さの部分は、定義する API に依存しますElementTree
。
root
まずXMLから要素インスタンスを構築します。例えば、テキスト関数を使用するか、次のようなファイルで解析します。
import xml.etree.ElementTree as ET
root = ET.parse('thefile.xml').getroot()
または、他の多くの方法のいずれかでElementTree
. 次に、次のような操作を行います。
for type_tag in root.findall('bar/type'):
value = type_tag.get('foobar')
print(value)
出力:
1
2