从DOM请求此元素的正确方法是什么?

时间:2012-04-18 15:21:26

标签: dom gpx

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

 <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上的示例我还没有设法确定这对我是否有任何帮助。

任何提示赞赏

非常感谢

大卫

1 个答案:

答案 0 :(得分:0)

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

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

    getElementsByTagNameNS(your_namespace, "rpt")

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

    getElementsByTagNameNS("*", "rpt")