【发布时间】:2020-02-12 12:02:11
【问题描述】:
我希望每个具有“fmc”属性的ver 都能获取标签part 内的文本。
所以我的例子只是返回两个版本(30 和 54)
第一个循环不打印任何内容。我需要帮助来改进我正在编写的函数。
#!/usr/bin/python3
import xml.etree.ElementTree as ET
import xml.etree.ElementTree as ET
tree= ET.parse(r'test.xml')
root = tree.getroot()
for ver in root.iter('ver'):
if ver.attrib == 'fmc':
print(ver.attrib) # does not work
for elem in root.iter():
if elem.tag == 'part':
print(elem.text)
文件
<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>
<corpus>
<ver id="18" etude="EC1_Elec" elec="oui" niveau="1" critere="1.3" type="discours">
<part code="EC1_Elec_IW04_0">Ça existe sur des gros parcs Hlm mais c'est macro.</part>
</ver>
<ver id="30" etude="EC1_Elec" elec="oui" niveau="2" critere="" origine="IW" type="discours" fmc="motivation">
<part code="EC1_Elec_IW01_0">Avant 75 on n'a pas isolé puis après, au fur et à mesure des règlementations.</part>
</ver>
<ver id="54" etude="EC1_Elec" elec="oui" niveau="1" critere="" origine="IW" type="discours" fmc="condition">
<part code="EC1_Elec_IW10_0">Le deuxième boitier, il est où ? s'il y en a un qui est à l'intérieur et qui remplace un bout de l'isolation, il est caché OK.</part>
</ver>
<ver id="897" etude="EC3_Elec" elec="oui" niveau="4" critere="4.1" origine="TR" type="discours">
<part code="EC3_Elec_TR2_1">Avec l'économie d'énergie, on va imposer de plus en plus d'automatismes,</part>
<iwer>Çava influencer la demande pour ce type de solution c'est ça ?</iwer>
<part code="EC3_Elec_TR2_1">Je pense oui</part>
</ver>
</corpus>
【问题讨论】:
-
这段代码根本不应该运行,因为这里:
tree = root = tree.getroot()你正在使用tree之前你给它分配任何东西。 -
粘贴时出错,我重写了
标签: python xml dataframe parsing