[英]Python. How to get all element from xml file with concrete tag?
我使用lxml.etree。
例如,我有这样的xml文件:
<Company>
<Employee>
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<Valod>
<Person Name="Jack"></Person>
</Valod>
<ContactNo>1234567890</ContactNo>
<Email>tanmaypatil@xyz.com</Email>
<Address>
<City>Bangalore</City>
<State>Karnataka</State>
<Zip>560212</Zip>
<Room>
<Person Name="Bill"></Person>
<Person Name="John"></Person>
</Room>
</Address>
</Employee>
</Company>
作为搜索的结果,我希望所有“人”。 类似于'element.getAll('person')'之类的东西,它返回元素:
<Person Name="Jack"></Person>
<Person Name="Bill"></Person>
<Person Name="John"></Person>
从官方Python站点上查看本教程,该站点确切显示了您的需求。
import xml.etree.ElementTree as ET
tree = ET.parse('person.xml')
root = tree.getroot()
for person in root.findall('Person'):
do something
您可以使用XPath
https://docs.python.org/2/library/xml.etree.elementtree.html#elementtree-xpath
它可能类似于root.findall("//Person")
,其中root
是ElementTree
,因为//
查找所有子代,无论是直接子代还是其他子代,而Person
是节点名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.