Python、XML、批量更改—迭代的替代方案?
在Python中,有没有比遍历XML文档中的一组元素更好的方法来更改它们 下面是示例XML。相关部分是从每个追踪点的时间戳中减去每圈的开始时间。(每个轨迹点都有一个绝对(祖鲁时间)时间戳,轨迹点是一圈的一部分,它有自己的绝对(祖鲁时间)起始时间……理想的结果是每个轨迹点都有一圈中的相对时间,而不是格林威治时间。) 设置减法非常简单,具体操作如下:Python、XML、批量更改—迭代的替代方案?,python,xml,Python,Xml,在Python中,有没有比遍历XML文档中的一组元素更好的方法来更改它们 下面是示例XML。相关部分是从每个追踪点的时间戳中减去每圈的开始时间。(每个轨迹点都有一个绝对(祖鲁时间)时间戳,轨迹点是一圈的一部分,它有自己的绝对(祖鲁时间)起始时间……理想的结果是每个轨迹点都有一圈中的相对时间,而不是格林威治时间。) 设置减法非常简单,具体操作如下: from dateutil.parser import parse dtLapStart = parse(eltLap.getAttribute('S
from dateutil.parser import parse
dtLapStart = parse(eltLap.getAttribute('StartTime'))
问题是对于一圈内的每条赛道,是否有一种方法可以实现这一点:
parse(timestamps[i].firstChild.data) - dtLapStart
对于所有的时间项,还是需要迭代eltTrack.getElementsByTagName(“时间”)集合
<Lap StartTime="2015-01-16T22:23:59.000Z">
<Track>
<Trackpoint>
<Time>2015-01-16T22:24:00.000Z</Time>
<HeartRateBpm>
<Value>181</Value>
</HeartRateBpm>
</Trackpoint>
<Trackpoint>
<Time>2015-01-16T22:24:01.000Z</Time>
<HeartRateBpm>
<Value>181</Value>
</HeartRateBpm>
</Extensions>
</Trackpoint>
<...>
2015-01-16T22:24:00.000Z
181
2015-01-16T22:24:01.000Z
181