用lxml findall()和xpath查找多种类型的标记?

2024-09-22 16:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在XML文件中搜索多个标记。在

我可以单独评估这些命令:

tree.findall('.//title')
tree.findall('.//p')

但我怎么能同时评估它们呢。我正在寻找一个类似.// title or .//p的语法

我从一个哨所试过这个命令

^{pr2}$

但是我得到了这个回溯错误SyntaxError: invalid descendant


Tags: or文件标记命令treetitle错误语法
2条回答

试试看

tree.findall('.//p | .//title')

结果是两个节点集的并集。在

与其遍历树两次并加入节点集,不如执行一次查找*通配符标记名并通过self::reference)检查标记名:

tree.xpath("//*[self::p or self::title]") 

演示:

^{pr2}$

相关问题 更多 >