获取lxml中特定名称的所有节点?

flo*_*fan 3 python xml lxml

我发现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?
Run Code Online (Sandbox Code Playgroud)

我不知道我是否应该使用objectify,xpath ...

评论也欢迎我正在阅读文件并将其转换为可解析的lxml对象的方式.谢谢.

cod*_*ape 6

查看文档:

tree = etree.parse(open('./test.xml'))
reviews = tree.findall(".//Review")
Run Code Online (Sandbox Code Playgroud)