Python lxml使用嵌套的predictate获取元素

Python lxml使用嵌套的predictate获取元素,python,python-3.x,xpath,lxml,Python,Python 3.x,Xpath,Lxml,具有以下xml结构: 我想获取嵌套了c元素和文本“1”的b元素 有没有办法使用XPath语法获取它们 在我得到a元素的一个参数后,我尝试了以下方法: aElementObject.xpath(“b[/c[text()='1'])没有成功。有什么想法吗?您正在寻找的xpath是 b[c='1'] 所以整个表情看起来像 aElementObject.xpath("b[c='1']") 这些表达式确实选择了元素的所有b子元素,该元素的c子元素的值为1您要查找的XPath是 b[c='1'] 所

具有以下xml结构:

我想获取嵌套了
c
元素和文本“1”的
b
元素

有没有办法使用XPath语法获取它们

在我得到
a
元素的一个参数后,我尝试了以下方法:


aElementObject.xpath(“b[/c[text()='1'])
没有成功。有什么想法吗?

您正在寻找的xpath是

b[c='1']
所以整个表情看起来像

aElementObject.xpath("b[c='1']")

这些表达式确实选择了元素的所有
b
子元素,该元素的
c
子元素的值为
1

您要查找的XPath是

b[c='1']
所以整个表情看起来像

aElementObject.xpath("b[c='1']")

这些表达式确实选择了一个元素的所有
b
子元素,该元素的
c
子元素的值为
1

除了一个简单的输入错误之外,看起来您还想查找
b
元素的所有子元素

b[descendant::c/text()='1']

除了一个简单的输入错误,它看起来像是要查找
b
元素的所有后代

b[descendant::c/text()='1']

考虑使用XML示例的文本,这样我们就可以复制/粘贴并试用它。只是一个打印错误。它应该是“b[//c/文本(=)'1'”]……OOP,只是尝试了。您不需要/ /从根搜索。所以“代码> B[C/TeX())=‘1’/代码>。考虑使用XML示例的文本,这样我们就可以复制/粘贴并试用它。只是一个打印错误。它应该是“B[//CcTe](=)'1'”。…哎呀,刚刚试过。你不想//因为那样会从根目录中搜索。所以
b[c/text()='1'
。它提供了根目录下的所有b元素,我只需要当前
a
元素的元素不确定是否有效,我的文件中有许多
a
元素。我正在迭代它们,每个元素都希望获得其所有内部拟合
b
。抱歉,如果不清楚,它提供了根目录下的所有b元素,我只需要当前
a
元素的元素不确定是否有效,我的文件中有许多
a
元素。我正在迭代它们,每个元素都希望获得所有内部配件
b
。如果不清楚,我很抱歉