How to parse info from an xml response


#1

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


#2

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.


#3

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()


#4

Exactly what I was looking for!

Thanks for your help
:slight_smile: