Python。如何从带有具体标记的xml文件中获取所有元素?

2024-10-01 04:55:25 发布

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

我使用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>

作为搜索的结果,我要所有的人。 有点像'元素.getAll('person')'返回元素:

^{pr2}$

Tags: name元素cityaddressemailemployeezipfirstname
2条回答

你可以使用xpath

https://docs.python.org/2/library/xml.etree.elementtree.html#elementtree-xpath

可能会像 root.findall("//Person")其中rootElementTree,因为//是find all children,immediate或other,而Person是节点名。在

查看来自Python官方站点的this教程,该教程准确地显示了您需要的内容。在

import xml.etree.ElementTree as ET
tree = ET.parse('person.xml')
root = tree.getroot()
for person in root.findall('Person'):
    do something

相关问题 更多 >