如何使用python获取xml文件中的内部元素

2024-04-16 14:09:25 发布

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

我有下一个xml:

<a>
  <aa id = 1>
    <data>aaaa</data>
  </aa>
  <aa id = 2>
    <data>bbbb</data>
  </aa>
  <aa id = 3>
    <data>cccc</data>
  </aa>
</a>

我想获取数据的文本(aaaa,bbbb…) 我该怎么做?(我一直在使用etree.ElementTree包装)


Tags: 文本iddataxmlccccaaetreeelementtree
3条回答

你可以试试这个: 在

In [1]: import xml.etree.ElementTree as ET

In [2]: tree = ET.parse('test.xml')

In [3]: root = tree.getroot()

In [4]: for el in root:
   ...:     print el.find('data').text
   ...:     
   ...:     
aaaa
bbbb
cccc

您所提供的代码中唯一缺少的是elem.find('data').text(在for循环中),它将返回您要查找的值。在

tree = xml.parse(file) 
root = tree.getroot() 
listElem = root.findall("aa") 
for elem in listElem:
     tmp1 = elem.findall("data")
     str = tmp1[0].text

XML文件:

<?xml version="1.0"?>
<a>
  <aa id="1">
    <data>aaaa</data>
   </aa>
   <aa id="2">
    <data>bbbb</data>
  </aa>
  <aa id="3">
    <data>cccc</data>
  </aa>
</a>

您可以使用XPath查询:

^{pr2}$

相关问题 更多 >