2011-11-22 48 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表中获取标记值吗? –