# Parsing an xml file from another website

**URL:** <https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981>\
**Category:** Rails\
**Created:** [February 21, 2009, 7:10pm UTC](https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981 "2009-02-21T19:10:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![skirkpatrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/73ab20/32.png) [@skirkpatrick](https://www.ruby-forum.com/u/skirkpatrick)\
**Post date:** [February 21, 2009, 7:10pm UTC](https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981/1 "2009-02-21T19:10:13Z")

</div>

I’m using getclicky for my site statistics. They have a url I can use  
to get the number of users online. I found ways to parse an xml file if  
it is local, but how should i do this if is from another link like  
[http://api.getclicky.com/stats/api3?site\_id=37569&sitekey=9b4c03f7c213%20&type=visitors-online&output=xml](http://api.getclicky.com/stats/api3?site_id=37569&sitekey=9b4c03f7c213%20&type=visitors-online&output=xml)  
?

I’m trying to get the number of users online from the link above.

---

<div class="post-metadata">

**Author:** ![skirkpatrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/73ab20/32.png) [@skirkpatrick](https://www.ruby-forum.com/u/skirkpatrick)\
**Post date:** [February 22, 2009, 12:48am UTC](https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981/2 "2009-02-22T00:48:25Z")

</div>

On 21 Feb 2009, at 18:10, Scott K. wrote:

> I’m using getclicky for my site statistics. They have a url I can use  
> to get the number of users online. I found ways to parse an xml  
> file if  
> it is local, but how should i do this if is from another link like  
> [http://api.getclicky.com/stats/api3?site\_id=37569&sitekey=9b4c03f7c213%20&type=visitors-online&output=xml](http://api.getclicky.com/stats/api3?site_id=37569&sitekey=9b4c03f7c213%20&type=visitors-online&output=xml)  
> ?

Well it depends on how you are parsing your xml, but with  
REXML::Document all you need to do is get the xml into a string or an  
IO object, so for example you could use the net/http library to grab  
the data and then stick that into REXML::Document.new

Fred

---

<div class="post-metadata">

**Author:** ![skirkpatrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/73ab20/32.png) [@skirkpatrick](https://www.ruby-forum.com/u/skirkpatrick)\
**Post date:** [February 22, 2009, 3:34pm UTC](https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981/3 "2009-02-22T15:34:32Z")

</div>

I’ve just recently spent a week learning how to export data using the  
Builder::XMLMarkup. In effect I created this object and populated it  
with data from my Rails database and sent it flying with a send\_data  
method.  
I’ve been reading how one then imports data and loads this into the  
Rails database with ActiveResource (Obie’s book).  
Is it something like this;

1. Create the resource as a model and the route to point to the  
controller action.
2. This action opens a REXML::Document.new ( which then does these  
three things)  
a. create .new record  
b. newrecord field = REXML::Document.fieldname, etc.  
c. newrecord.save

Does anyone have examples of how they used an external XML file to  
import data into a Rails database ( and the routing used)?  
Thank you,  
David

---

<div class="post-metadata">

**Author:** ![skirkpatrick](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/73ab20/32.png) [@skirkpatrick](https://www.ruby-forum.com/u/skirkpatrick)\
**Post date:** [February 22, 2009, 5:33am UTC](https://www.ruby-forum.com/t/parsing-an-xml-file-from-another-website/160981/4 "2009-02-22T05:33:12Z")

</div>

Just a suggestion though, although the REXML api is really nice to use,  
I’d start with libxml. The speed difference is large enough to put up  
with the api being a little less intuitive.

just my 2cents

Simon
