How to parse info from an xml response

Hi all!
In my app I want to detect what country a visitor is viewing from by
their IP.

Although it’s by no means perfect, the simplest option I’ve found is
by using this site:
http://api.hostip.info/

by passing the ip address as a query, this site returns an xml file
with the country as one of the tags.

http://api.hostip.info/?ip=6.255.255.255 returns (amongst other
things)
“US”

Could somebody suggest the best way to assert the value of this
particular tag in the xml file?

Thanks

Gavin

http://api.hostip.info/?ip=6.255.255.255 returns (amongst other
things)
“US”

Could somebody suggest the best way to assert the value of this
particular tag in the xml file?

hpricot or that new one… nokugirl (or something like that). I know
hpricot can parse XML easily.

require ‘rubygems’
require ‘hpricot’
require ‘net/http’
html =
Net::HTTP.get(URI.parse(“http://api.hostip.info/?ip=6.255.255.255”))
doc = Hpricot(html)
country_abbrev = doc.search(“countryabbrev”)
puts country_abbrev.inner_text()

Exactly what I was looking for!

Thanks for your help
:slight_smile:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs