2011-11-22 47 views
0

我有一個PHP文件,它創建一個XML文件和一個讀取XML文件的JS文件。當我按下HTML中的按鈕時,它會將我重定向到創建XML文件的PHP文件,但JS文件不會讀取它。JS不讀XML

GDownloadUrl("phpsqlajax_genxm1l.php", function(data) { 
    var xml = GXml.parse(data); 
    var markerid = xml.documentElement.getElementsByTagName("marker"); 
    for (var i = 0; i < markerid.length; i++) { 
    var type = markerid[i].getAttribute("type"); 
    //var point = new GLatLng(parseFloat(markerid[i].getAttribute("lat")), 
          //parseFloat(markerid[i].getAttribute("lng"))); 
    var date = markerid[i].getAttribute("date"); 

    var punktx = markerid[i].getAttribute("point"); 
    var punkt = punktx.toString(); 
    var temp = new Array(); 
    temp = punkt.split(","); 
    var point = new GLatLng(temp[0],temp[1]) 


    var marker = createMarker(point, date, type); 
    map.addOverlay(marker); 
    } 
}); 

如何解決這個問題?這個JS腳本應該從XML文件中獲取數據,並在我的Google地圖上製作標記,但JS文件不會啓動或執行某些操作。

+0

您的PHP腳本生成的XML是什麼樣的?您是否嘗試驗證W3 XML驗證器中的XML輸出? – GordonM

回答

0

當我試圖查看你的問題的評論中提到的XML飼料,我有以下幾點:

XML Parsing Error: no element found Location: http://www.liiklusinfo.ee/proov4/phpsqlajax_genxm1l.php Line Number 1, Column 1: ^

不能解析無效的XML源。 HTML瀏覽器應該嘗試解析無效標記,但是使用XML時,如果標記無效,正確的行爲是中止並失敗。

嘗試先解決XML Feed中的問題,也許你會有更多的運氣解析它。

http://www.w3schools.com/xml/xml_validator.asp上有一個XML驗證器,它應該有助於識別您的提要有哪些錯誤。

+0

要查看XML文件,您必須訪問http://www.liiklusinfo.ee/proov5/並點擊「30 minutit」查看1小時前輸入的數據或「kõik」查看所有數據。但問題依然如故。我認爲這是因爲我在HTML主體中有onLoad函數,它啓動了JS,但按鈕函數是在body加載之後。如何在身體負荷前加載按鈕負載? –

+0

基本上我已經到了一個解決方案,我需要知道如何在創建XML時激活javascript的一部分。上面給出的部分。整個JS文件位於http://www.liiklusinfo.ee/proov5/script.js –

+0

那麼,關於如何按日期排序標記的任何想法?我可以根據日期從XML表中獲取標記值嗎? –