XPath:只获取具有特定子元素的元素

2024-10-01 13:24:08 发布

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

我有一个文件系统,它以以下格式在xml文档中表示:

<xml xmlns="namespace1" xmlns:ns2="namespace2">
  <entry>
    <id>123</id>
    <ns2:content name="type">directory</ns2:content>
    <ns2:content name="numErrors">3</ns2:content>
  </entry>
  ...
  <entry>
    <id>456</id>
    <ns2:content name="type">file</ns2:content>
    <ns2:content name="docState">success</ns2:content>
  </entry>
  ...
</xml>

我需要做的是,使用Python的lxml,只检索表示目录的entry对象。所有条目都包含一个<ns2:content name="docState">对象,但是我需要知道如何检索entry对象的列表,其中该对象的文本等于directory。我可以用几个不方便的步骤来完成这项工作,但我宁愿有一个查询。以下是我的步骤:

^{pr2}$

有人能解释一下如何在for语句中而不是使用if语句来实现这一点吗?在

谢谢


Tags: 对象name文档id格式type步骤xml