【发布时间】:2020-07-19 13:25:08
【问题描述】:
思路是为下面的xml获取标签endTime的值:
<epochs xmlns="http://www.egi.com/epochs_mff" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<epoch>
<beginTime>0</beginTime>
<endTime>3586221000</endTime>
<firstBlock>1</firstBlock>
<lastBlock>897</lastBlock>
</epoch>
<epoch>
<beginTime>3750143000</beginTime>
<endTime>5549485000</endTime>
<firstBlock>898</firstBlock>
<lastBlock>1347</lastBlock>
</epoch>
</epochs>
然而,直接访问标签会返回一个空列表:
import xml.etree.ElementTree as ET
tree = ET.parse(r'epochs.xml')
epoch_list=tree.findall("epoch")
但是,循环通过 tree 确实会返回 endTime 值。
import xml.etree.ElementTree as ET
tree = ET.parse(r'epochs.xml')
for elem in tree:
for subelem in elem:
print(subelem.text)
我可以知道如何直接检索值为 300937000 的endTime 吗?
【问题讨论】:
-
检查您的第二个代码块。第三行好像不完整
-
肮脏的解决方法是使用
result = soup_page.find_all("endtime")这一行到Parse XML Files Using Python’s BeautifulSoup。
标签: python html xml parsing elementtree