2012-04-18 138 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

相關問題