NWS-NOAA: accessing attributes with SOAP4R

Hi Ruby Guru’s,

I’ve successfully retrieved data from the NWS weather server with the
example that was give at the following link:
http://groups.google.com/group/comp.lang.ruby/msg/5fb9a1506ea46b2e

So far so good.

However, I’m only able to get text data, that is the data that’s not
part of an XML tag. I did not find a way to access XML attributes.

E.g.: I have no problem to get the ‘point1’ information, indicated by
, but I can find a way to get ’

  <location>
     <location-key>point1</location-key>
     <point latitude="38.99" longitude="-77.99" />
  </location>
  <time-layout time-coordinate="local" summarization="none">
      <layout-key>k-p24h-n7-1</layout-key>

The closest I’ve gotten to see that the data is actually there is by
doing:

p data[‘location’][‘point’].__xmlattr

This prints something that lists ‘latitude’ and ‘longitude’. But how do
I access the value itself?

p data[‘location’][‘point’].__xmlattr[‘latitude’] or
p data[‘location’][‘point’].latitude

doesn’t work.

Any suggestions are greatly appreciated!

Tom

Hey,

Well, I’m not an expert (yet:) in Ruby, but I stumbled across the
“extraattr”-attribute of the SOAPElement in the SOAP4R-library.

See http://www.ruby-doc.org/stdlib/libdoc/soap/rdoc/index.html and
Peak Obsession for more
details.

Maybe that’ll help you?

Holgi

Hi Holgi,

Thanks for the pointers. Unfortunately, it seems that I’m dealing with
a SOAP::Mapping:Object instead of a SOAPElement. I’ll let you know if I
make any progress.

Tom