views:

718

answers:

4

I`m parsing a Google Maps RSS with javascript and using the following code to get the point coordinates:

point_coords = items.getElementsByTagName('georss:point')

Unfortunately it works in FF but not in safari and chrome (still not tested in Opera and IE)

The XML looks like:

<item>
    <guid isPermaLink="false">guidNo</guid>
    <pubDate>Mon, 23 Mar 2009 20:16:41 +0000</pubDate>

    <title>title text</title>
    <description><![CDATA[text]]></description>
    <author>UniCreditBulbank</author>
    <georss:point>
      42.732342 23.296659
    </georss:point>
  </item>
A: 

How about document.getElementsByTagNameNS('georss', 'point')?

Adam Backstrom
Almost---but I thought all the namespace functions required you to specify the actual namespace URI, not its alias.
Chris Jester-Young
Does it work when you specify the URI?
Adam Backstrom
+1  A: 

Technically, the tag name for <georss:point> is point, not georss:point. Try that.

Chris Jester-Young
+1  A: 

Final solutions working in IE6,7,8, FF, Opera, Chrome and Safari

point_coords = item.getElementsByTagName('georss:point')[0];
if(!point_coords || point_coords == null){
    point_coords = item.getElementsByTagName('point')[0];
}
if(!point_coords || point_coords == null){
    point_coords = item.getElementsByTagNameNS('http://www.georss.org/georss', 'point')[0];
}
return point_coords

Thanks for all hints they did the job )

Ilian Iliev
A: 

Similar problem for me. getElementsByTagName was failing on safari but not ff/ie. Turns out the namespace prefix was needed for ff/ie and not for safari so now, according to the agent..

getElementsByTagName("iesr:Collection") // ff/ie

getElementsByTagName("Collection") // safari

robert hettinga