2012-04-18 137 views
0

我检索从GPX文件中的所有COORDS,这里是从该文件什么是从DOM请求这个元素的正确方法?

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

任何提示赞赏

非常感谢

大卫

回答

0

是的,你的文件正在使用的命名空间,所以你应该使用命名空间感知版本的方法。

  • 如果你知道你的gpxx的命名空间:前缀,然后使用:

    getElementsByTagNameNS(your_namespace, "rpt")

  • 如果你的文件,不使用任何其他命名空间与RPT元素,那么这应该足够了:

    getElementsByTagNameNS("*", "rpt")

+0

谢谢@wrygiel,我会试试。 我认为在这种情况下'your_namespace'应该基于以下xml标题'http://www.topografix.com/GPX/1/1'是否正确: <?xml version =“ 1.0“encoding =”UTF-8“standalone =”no“?> 2012-05-02 07:48:41

+0

编号”xmlns“属性为元素**定义名称空间,不带任何前缀。您应该查找“xmlns:gpxx”属性。 – wrygiel 2012-05-07 10:29:08

相关问题