我想继续讨论这篇文章:
GPX Schema validation problems.直接说到这一点,我想问一下人们如何在他们的软件中解析和使用GPX文件,或者给我一些如何做的建议.
虽然有人可能会说,只需解析trkpt元素并在软件中使用它们,但事情对我来说并不那么简单.首先,如在上述引用的柱,很多GPX生产的设备的讨论(软件,GPS的手持设备等)产生不符合官方GPX架构GPX文件(元件布局的在错误的订单,价值类型改变,元素名称改变等.我在开始解析gpx文件时的初步教导,首先检查它们是否针对GPX模式进行验证.它们中有很多包含实际的GPS数据(纬度/经度/高程值的序列),但无论如何都可以设计它呈现的格式(虽然很好地被GPX后缀隐藏).因此该文件将包含所需的数据,但不符合GPX架构.这个问题是如何克服的?有没有办法让软件接受通用GPX文件作为输入?
其次,我想指出我对你可能有的各种建议(例如,首先预处理GPX文件,然后解析它,更改模式等)不感兴趣,以了解如何解决问题.如果有人知道在实践中如何完成工作,我会更感兴趣.因此,如果任何人在(可能)商业环境中拥有或有过处理GPX文件的经验,请分享您的想法.
我希望我明白我的观点.
谢谢,
斯托
在我的应用程序中,我使用普通的XML解析器(例如pythons
xml.dom.minidom)我只是使用标签名来访问我需要的信息.
正如在 other Thread中提到的那样,使验证失败的是< xsd:sequence>在GPX标准定义中.虽然GPX生产设备确实应该遵守标准,但实际上解析方面并没有那么大的优势(至少我使用的是GPX文件/设备).
正如在 other Thread中提到的那样,使验证失败的是< xsd:sequence>在GPX标准定义中.虽然GPX生产设备确实应该遵守标准,但实际上解析方面并没有那么大的优势(至少我使用的是GPX文件/设备).
如果GPX文件包含其他信息,那么它将被删除(除非您选择提取未知的标记名).
如果此方法失败,因为该文件不是vaild XML,或者GPX使用不同的标记名称,例如lat lon信息没有其他方法来读取文件而不是为这个特定的用例编写一个特殊的导入器(我没有看过这样的文件,除了腐败的文件,在野外)