Python中的Xpath。获取SyntaxError(“无效谓词”)

2024-09-26 18:09:32 发布

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

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')

xpathobjects = tree.findall(".//BuildingNodeBase[name = 'Building name']")

我想拉一个BuildingNodeBase,其子标记名的值为Building name。在

但是得到:

SyntaxError("invalid predicate")


Tags: name标记testimporttreeparseasxml
2条回答

我使用lxml,但我想您可以采用以下方法:

from lxml import etree

tree = etree.parse('test.xml')

xpathobjects = tree.xpath(".//BuildingNodeBase[@name = 'Building name']")

The XPath support in ElementTree is limited,但支持您的表达式类型。只是您需要删除=周围的多余空格:

.//BuildingNodeBase[name='Building name']

相关问题 更多 >

    热门问题