4
나는 다음과 같은 형식으로 XML 문서에 표시되는 filesyste 있습니다의 XPath : 특정 하위 요소 만 요소를 얻을
<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>
내가해야 할 것은 파이썬의 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 문 내에서이 작업을 수행하는 방법을 설명 할 수 : 여기 단계에서 그것을 할 것입니다 방법은?
감사