Python 中的 Xpath。获取语法错误("invalid predicate")
Xpath in Python . Getting SyntaxError("invalid predicate")
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
xpathobjects = tree.findall(".//BuildingNodeBase[name = 'Building name']")
我想拉取一个 BuildingNodeBase
,其子标签名称的值为 Building name
。
但是得到:
SyntaxError("invalid predicate")
The XPath support in ElementTree is limited,但支持您的表达式类型。只是您需要删除 =
:
周围的多余空格
.//BuildingNodeBase[name='Building name']
我用的是lxml
,但我想你可以采用这个来使用:
from lxml import etree
tree = etree.parse('test.xml')
xpathobjects = tree.xpath(".//BuildingNodeBase[@name = 'Building name']")
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
xpathobjects = tree.findall(".//BuildingNodeBase[name = 'Building name']")
我想拉取一个 BuildingNodeBase
,其子标签名称的值为 Building name
。
但是得到:
SyntaxError("invalid predicate")
The XPath support in ElementTree is limited,但支持您的表达式类型。只是您需要删除 =
:
.//BuildingNodeBase[name='Building name']
我用的是lxml
,但我想你可以采用这个来使用:
from lxml import etree
tree = etree.parse('test.xml')
xpathobjects = tree.xpath(".//BuildingNodeBase[@name = 'Building name']")