59

為に:

<foo>
 <bar key="value">text</bar>
</foo>

「価値」を得るには?

xml.findtext("./bar[@key]")

エラーをスローします。

4

5 に答える 5

74

これは、という名前の要素の最初のインスタンスを見つけ、bar属性の値を返しますkey

In [52]: import xml.etree.ElementTree as ET

In [53]: xml=ET.fromstring(contents)

In [54]: xml.find('./bar').attrib['key']
Out[54]: 'value'
于 2011-01-01T05:56:58.220 に答える
1

あなたの表現:

./バー[@キー]

意味:属性barを持つ子key

属性を選択する場合は、次の相対式を使用します。

bar/@key

意味:子供key属性bar

もちろん、lxmlのような完全に準拠した XPath エンジンを使用することを検討する必要があります。

于 2011-01-01T16:56:23.383 に答える