Python xml ElementTree:仅查找前3个同名元素的值
我想解析xml响应并将特定数据保存到列表中 XML 我可以使用上面的脚本提取所有name元素,但是xml响应包含很多name元素。我只需要前三个名字 我使用列表理解来减少代码行数 我的问题Python xml ElementTree:仅查找前3个同名元素的值,python,xml,elementtree,Python,Xml,Elementtree,我想解析xml响应并将特定数据保存到列表中 XML 我可以使用上面的脚本提取所有name元素,但是xml响应包含很多name元素。我只需要前三个名字 我使用列表理解来减少代码行数 我的问题 如何只获取前三个名称而不解析xml中的所有名称 我可以使用任何循环将p.find限制为3次迭代吗 还有其他选择吗 您可以使用: <ack>Success</ack> <version>1.13.0</version> <data> <nam
- 如何只获取前三个名称而不解析xml中的所有名称
- 我可以使用任何循环将p.find限制为3次迭代吗
- 还有其他选择吗
<ack>Success</ack>
<version>1.13.0</version>
<data>
<name>AAAA</name>
<age>00</age>
<data>
<name>BBBB</name>
<age>11</age>
<data>
<name>CCCC</name>
<age>22</age>
.
.
.
.
<data>
<name>ZZZZ</name>
<age>999</age>
import requests, xml.etree.ElementTree as ET
e = requests.get('http://sample.com/xml')
#parse the response and get root
eroot = ET.fromstring(e.text)
#iterate over root and extract data
names = [ p.find('name').text for p in eroot.iter('data') ]
print(names)
from itertools import islice
names = [ p.find('name').text for p in islice(eroot.iter('data'), 0, 3)]