Forum Moderators: open

Message Too Old, No Replies

Extracting tag attributes?

         

junkozane1

3:29 am on Jul 5, 2009 (gmt 0)

10+ Year Member



I spent last 10 hours trying to figure out how to extract attributes
from this:

<yweather:wind chill="76" direction="230" speed="8" />

Full RSS: [weather.yahooapis.com...]

rsstxt1 = response[0].getElementsByTagName("yweather:wind").item
(0).attributes[0].value;
doesn't work. And I tried everything else.

response[0].getElementsByTagName("ttl").item(0).textContent
works fine

Just can't get any attribute values from tags with values instead of
contents.

Please help. Thanks.

daveVk

5:12 am on Jul 5, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



try

rsstxt1 = response[0].getElementsByTagName("yweather:wind")[0].getAttribute("chill");

OR

rsstxt1 = response[0].getElementsByTagName("yweather:wind")[0].attributes[0].value;

welcome to forum

[w3schools.com...]
[w3schools.com...]

junkozane1

6:47 am on Jul 5, 2009 (gmt 0)

10+ Year Member



Thanks for your time Dave.

I tried that before, but it doesn't work. The problem is that those are namespaces, not regular tags. I spent last 10 hours searching web and now I'm pretty sure no one on this planet can parse them.

daveVk

7:19 am on Jul 5, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Maybe, not sure how widely supported

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind")

junkozane1

9:01 am on Jul 5, 2009 (gmt 0)

10+ Year Member



[xml.weather.yahoo.com...]

Gives 404 :(

junkozane1

6:43 am on Jul 6, 2009 (gmt 0)

10+ Year Member



Actually - Dave, your solution works ... kinda...

var response = transport.responseXML.getElementsByTagName("channel");

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind").item(0).nodeValue

Returns --- NULL

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind")

Returns --- [object NodeList]

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind").item(0)

Returns --- [object NodeList]

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind").item(0).length

Returns --- undefined

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind").item(0).text

Returns --- undefined

response[0].getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","wind").item(0).textContent

Returns --- "" (empty)

Any ideas? Thanks! :)

junkozane1

7:01 am on Jul 6, 2009 (gmt 0)

10+ Year Member



FIXED! Yaaay! Thanks Dave! :)