解析像这样的GPX文件时出现此错误:
gpx_file_object = open(path_and_file, 'r')
parser = gpxpy.parse(gpx_file_object)
GPX文件如下所示:
<?xml version='1.0' encoding='UTF-8'?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/1" creator="EMNRD.GPXWriter"
version="1.1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1
http://www.topografix.com/GPX/1/1/gpx.xsd">
<time>01/07/2016 07:49:50</time>
<metadata>
<name>0/0</name>
<desc>24989196</desc>
</metadata>
<trk>
<name>0/0</name>
<trkseg>
<trkpt lat="35.000096" lon="-108.050042"/>
<trkpt lat="34.5277756667" lon="-108.050042"/>
<trkpt lat="34.5277756667" lon="-107.4452589"/>
<trkpt lat="35.000096" lon="-107.4452589"/>
<trkpt lat="34.000096" lon="-108.050042"/>
</trkseg>
</trk>
</gpx>
这个GPX文件是我用lxml / etree编写的python代码生成的。我在编辑器中查看了文件,包括文本和十六进制模式,并且没有看到任何异常。我将上面的内容粘贴到xml验证器中并通过了。我将GPX文件加载到MOBAC,看起来不错。
我已经阅读了这个问题,但没有为我找到解决方案:
有什么建议吗?
答案 0 :(得分:2)
问题中的GPX文件格式正确,因此它不是解析器所看到的错误或错误消息错误。< / p>
只有你才能确认解析器真正看到了什么。继续(不太可能)错误消息错误的可能性,您仍然有验证问题来处理地址。 (In XML, valid is not the same as well-formed.)
以下是您的GPX文件,该文件已经格式正确,尽管出现错误消息,也已更正为有效:
<?xml version='1.0' encoding='UTF-8'?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/1"
creator="EMNRD.GPXWriter"
version="1.1"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 gpx.xsd">
<metadata>
<name>0/0</name>
<desc>24989196</desc>
<time>2016-01-07T00:00:00</time>
</metadata>
<trk>
<name>0/0</name>
<trkseg>
<trkpt lat="35.000096" lon="-108.050042"/>
<trkpt lat="34.5277756667" lon="-108.050042"/>
<trkpt lat="34.5277756667" lon="-107.4452589"/>
<trkpt lat="35.000096" lon="-107.4452589"/>
<trkpt lat="34.000096" lon="-108.050042"/>
</trkseg>
</trk>
</gpx>
请注意,在上述修复之前,time
放错地方并且形式不正确。