Python,XML,批量更改迭代的替代方法?

时间:2015-01-26 01:54:39

标签: python xml

在Python中,有没有更好的方法来更改XML文档中的一堆元素而不是迭代它们?

下面的示例XML。相关部分是从每个Tracepoint的时间戳中减去每个Lap的Starttime。 (每个Trackpoint都有一个绝对(Zulu时间)时间戳,Trackpoints是Lap的一部分,它有自己的绝对(祖鲁时间)StartTime ...期望的结果是每个Trackpoint都有 relative 一圈的时间,而不是格林威治的时间。)

使用以下方法设置减法很简单:

from dateutil.parser import parse
dtLapStart = parse(eltLap.getAttribute('StartTime'))

问题是针对Lap内的每个Track,有没有办法批量执行此操作:

parse(timestamps[i].firstChild.data) - dtLapStart 

对于所有Time项,还是我需要迭代eltTrack.getElementsByTagName(" Time")集合?

<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>
<...>

0 个答案:

没有答案