0

我正在从 gpx 文件中检索所有坐标,这是该文件中的示例行

 <gpxx:rpt lon="11.0739613" lat="47.5691700"/>

在 IE 和 FireFox 中,以下代码正确执行:

var routePoints = data.documentElement.getElementsByTagName("gpxx:rpt");

for (var i = 0; i < routePoints.length; i++) 
 {
     routePoints[i].getAttribute("lat");
     routePoints[i].getAttribute("lon");
 }

虽然奇怪的是,在 Chrome 上这段代码不起作用,它似乎没有从 DOM 中检索任何信息。

在寻找解决方案的旅途中,我看到了“getElementsByTagNameNS(ns,name)”,但是查看http://www.w3schools.com/dom/met_element_getelementsbytagnamens.asp上的示例,我无法确定它是否在对我有任何帮助的事实。

任何提示表示赞赏

非常感谢

大卫

4

1 回答 1

0

是的,您的文件正在使用命名空间,因此您应该使用此方法的命名空间感知版本。

  • 如果您知道gpxx:前缀的命名空间,请使用:

    getElementsByTagNameNS(your_namespace, "rpt")

  • 如果您的文件不使用任何其他带有rpt元素的命名空间,那么这就足够了:

    getElementsByTagNameNS("*", "rpt")

于 2012-04-27T16:58:53.773 回答