我有一个文件系统,以以下格式在xml文档中表示:
我需要做的是,使用 Python 的 lxml 库,仅检索表示目录的
有人能够解释如何在for语句内完成这个操作,而不是使用if语句吗?
谢谢。
<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">
对象,但我需要知道如何检索该对象的文本等于directory
的entry
对象列表。我可以采用几个不便的步骤来完成此操作,但我宁愿使用一次查询完成。以下是我会按步骤执行的方式:#xml_parse.py
ns={'ns1':'namespace1','ns2':'namespace2'}
for node in tree.xpath("//ns1:entry",namespaces=ns):
if node.find("ns2:content[@name='type']").text=="directory":
#do stuff with node
pass
有人能够解释如何在for语句内完成这个操作,而不是使用if语句吗?
谢谢。