我使用xml.etree.ElementTree来解析表单中的xml文件 -
<element>
<status>OK</status>
<duration>
<value>340110</value>
<text>3 jours 22 heures</text>
</duration>
<distance>
<value>1734542</value>
<text>1 735 km</text>
</distance>
</element>
然后我将时间值分开并比较它们以获得最小的可能值。但是,我不知道如何做到这一点,而不是最终得到距离值,这会弄乱我的数据集。这是我到目前为止在值root -
下获取任何内容的代码import xml.etree.ElementTree as ET
times=[]
for i in htmlSource:
root=ET.fromstring(i)
for value in root.iter('value'):
times.append(value.text)
有没有办法可以将其修改为仅在持续时间而不是距离下获取值?提前谢谢。
答案 0 :(得分:0)
我实际上设法弄清了这个。我还需要保持值的索引与原始数据保持一致,这很困难,因为任何时候元素的状态发生变化都不会有“&#39;值”。部分和所有后续值的索引将从缺席中增加。这是我对这个问题和原始问题的解决方案。
for i in htmlSource:
root=ET.fromstring(i) #parses the data
for element in root.iter('element'):
if element[0].text == 'OK'
Temp=element[1][0].text #finds the time value
times.append(Temp) #adds the time value to a list
else:
times.append(0)
元素[1] [0]表示第一个孩子&#39;指定的元素的第二个根,即所需的值root,.text为我提供该根的文本内容。元素[0]是状态,即元素下的第一个根。