1

このような構造のXMLドキュメントを評価したいと思います。

<?xml version="1.0" encoding="UTF-8"?>
<Service_name version="3.3.0">
...

ここで、Service_nameタグ名は定数文字列ではありませんが、version属性は必須です。

その目的のために、このxpath式:/*[1]/@version任意のxpathプロセッサーで正常に評価されますが、PythonElementTreeではどのように評価されるかわかりません。

例えば:

import xml.etree.ElementTree as ET
doc = ET.parse('sample.xml')
v = find('/*[1]/@version').text

上げるKeyError: '@'

同様の組み合わせを試しましたが、うまくいきませんでした。

ElementTreeを使用して上記のサンプルドキュメントからバージョン番号を取得するにはどうすればよいですか?

4

2 に答える 2

2

ElementTreeは、多かれ少なかれxpathのサブセットである独自のパス構文を使用します。xpathを完全にサポートするElementTree互換ライブラリが必要な場合は、lxmlを試してください。

于 2012-08-31T07:31:42.657 に答える
0

質問名としてのXPathではありませんが、これは1つの方法のようです。

doc.getroot().get('version')

于 2012-08-31T05:05:03.210 に答える