0
仪解析XML GPX数据我有这个GPX文件:使用SimpleXML
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" .. >
<metadata>
<link href="http://www.garmin.com">
<text>Garmin International</text>
</link>
<time>2017-03-13T14:42:05Z</time>
</metadata>
<trk>
<name>2017-03-13 15:41:57</name>
<extensions>
<gpxx:TrackExtension>
<gpxx:DisplayColor>Cyan</gpxx:DisplayColor>
</gpxx:TrackExtension>
<gpxtrkx:TrackStatsExtension>
<gpxtrkx:Distance>6482</gpxtrkx:Distance>
<gpxtrkx:MovingTime>4474</gpxtrkx:TimerTime>
</gpxtrkx:TrackStatsExtension>
</extensions>
<trkseg>
<trkpt lat="47.1075830329" lon="15.4409365822">
<ele>466.49</ele>
<time>2017-03-13T13:26:10Z</time>
</trkpt>
<trkpt lat="47.1075813565" lon="15.4409420304">
<ele>466.49</ele>
<time>2017-03-13T13:26:11Z</time>
</trkpt>
...
</trkseg>
</trk>
</gpx>
我想用SimpleXML解析它,但必须TrackStatsExtension进不去。 如何循环播放TrackStatsExtension - 获取Distance和MovingTime?
我想计算平均速度。
两件事情你应该知道选择的命名空间是这样的:首先,你可以使用命名空间别名,而不是直接调用' - > getNamespaces'通过写作' - > children('gpxtrkx',true)';其次,如果生成文件的代码更改为对同一名称空间使用不同的别名,则实际上应该对来自'xmlns:gpxtrkx'属性的完整标识符进行硬编码。例如'define('XMLNS_GPX_TRKX','http:// ....'); $ ext = $ xml-> trk-> extensions-> children(XMLNS_GPX_TRKX);' – IMSoP