3

lxml を使用すると、最初の学習曲線が少し急であることがわかります。名前、属性でノードを取得し、そのコンテンツを取得するなどの一般的なタスクです。これは非常に簡単な質問です。

XMLファイルがあります。と呼ばれるすべての XML ノードを検索したいと思います<Review>。lxmlでこれを最も効率的に行うにはどうすればよいですか?

f = open('./test.xml')
xml = f.read()
tree = etree.parse(StringIO(xml))
context = etree.iterparse(StringIO(xml))
# How to get all the tags with the name <Review>
reviews = tree.findall('Review') # Something like this?

objectify、xpathを使用する必要があるかどうかわかりません...

ファイルを読み込んで解析可能な lxml オブジェクトに変換する方法についてのコメントも歓迎します。ありがとう。

4

1 に答える 1

6

ドキュメントを参照してください:

tree = etree.parse(open('./test.xml'))
reviews = tree.findall(".//Review")
于 2012-05-22T11:32:30.297 に答える