[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

xml newbie

Colin Summers

6/22/2007 11:28:00 PM

Okay, so I am scraping the FAA site and keeping track of some airplanes.

A lot of the time I get a tail number and I have it already, so I am
going to store the important information in a file that is
{tailnumber}.xml

That way I can add some of my own information (email address of owner,
airport last sighted).

I've never written any xml. But apparently there are gems I could add
to my Ruby installation which would let me write it.

Suggestions for where to start?

I assume I'll wind up with a file that has
<model>DA20</model>
<serial>408.21</serial>

and I can say things like
serial = xml('serial')
and
xml(serial) = '408.21'
right?

I can picture writing these things, but I bet someone has already done the work.

Thanks,
--Colin

4 Answers

Gregory Brown

6/23/2007 2:27:00 AM

0

On 6/22/07, Colin Summers <bladenut@gmail.com> wrote:
> Okay, so I am scraping the FAA site and keeping track of some airplanes.
>
> A lot of the time I get a tail number and I have it already, so I am
> going to store the important information in a file that is
> {tailnumber}.xml
>
> That way I can add some of my own information (email address of owner,
> airport last sighted).
>
> I've never written any xml. But apparently there are gems I could add
> to my Ruby installation which would let me write it.
>
> Suggestions for where to start?

You'll want to take a look at HPricot[0] and/or XML Builder[1]

[0] http://code.whytheluckystiff.ne...
[1] http://rubyforge.org/projec...

cardboard42@gmail.com

6/23/2007 4:17:00 AM

0

On Jun 22, 7:27 pm, "Colin Summers" <blade...@gmail.com> wrote:
> Okay, so I am scraping the FAA site and keeping track of some airplanes.
>
> A lot of the time I get a tail number and I have it already, so I am
> going to store the important information in a file that is
> {tailnumber}.xml
>
> That way I can add some of my own information (email address of owner,
> airport last sighted).
>
> I've never written any xml. But apparently there are gems I could add
> to my Ruby installation which would let me write it.
>
> Suggestions for where to start?
>
> I assume I'll wind up with a file that has
> <model>DA20</model>
> <serial>408.21</serial>
>
> and I can say things like
> serial = xml('serial')
> and
> xml(serial) = '408.21'
> right?
>
> I can picture writing these things, but I bet someone has already done the work.
>
> Thanks,
> --Colin

Why bother with xml at all? For something this small YAML would work
just as well and requires less work too.

require 'yaml'
planes = [ {:tailnumber => 'N1234Z', :model => 'DA20', :serial =>
'408.21'},
{:tailnumber => 'N1234AZ', :model => 'magic happy
plane', :serial => '42'} ]
#write planes
File.open("planes.yaml", "w") { |f| f.puts tree.to_yaml }

#read planes
planes = YAML.load(File.open("planes.yaml"))
puts planes.first[:serial]
#408.21

cardboard42@gmail.com

6/23/2007 4:19:00 AM

0

On Jun 23, 12:16 am, "cardboar...@gmail.com" <cardboar...@gmail.com>
wrote:
> On Jun 22, 7:27 pm, "Colin Summers" <blade...@gmail.com> wrote:
>
>
>
> > Okay, so I am scraping the FAA site and keeping track of some airplanes.
>
> > A lot of the time I get a tail number and I have it already, so I am
> > going to store the important information in a file that is
> > {tailnumber}.xml
>
> > That way I can add some of my own information (email address of owner,
> > airport last sighted).
>
> > I've never written any xml. But apparently there are gems I could add
> > to my Ruby installation which would let me write it.
>
> > Suggestions for where to start?
>
> > I assume I'll wind up with a file that has
> > <model>DA20</model>
> > <serial>408.21</serial>
>
> > and I can say things like
> > serial = xml('serial')
> > and
> > xml(serial) = '408.21'
> > right?
>
> > I can picture writing these things, but I bet someone has already done the work.
>
> > Thanks,
> > --Colin
>
> Why bother with xml at all? For something this small YAML would work
> just as well and requires less work too.
>
> require 'yaml'
> planes = [ {:tailnumber => 'N1234Z', :model => 'DA20', :serial =>
> '408.21'},
> {:tailnumber => 'N1234AZ', :model => 'magic happy
> plane', :serial => '42'} ]
> #write planes
> File.open("planes.yaml", "w") { |f| f.puts tree.to_yaml }
>
> #read planes
> planes = YAML.load(File.open("planes.yaml"))
> puts planes.first[:serial]
> #408.21

Errr tree.to_yaml should of course be planes.to_yaml. It's late :)

Gregory Brown

6/23/2007 4:31:00 AM

0

On 6/23/07, cardboard42@gmail.com <cardboard42@gmail.com> wrote:
> On Jun 22, 7:27 pm, "Colin Summers" <blade...@gmail.com> wrote:
> > Okay, so I am scraping the FAA site and keeping track of some airplanes.
> >
> > A lot of the time I get a tail number and I have it already, so I am
> > going to store the important information in a file that is
> > {tailnumber}.xml
> >
> > That way I can add some of my own information (email address of owner,
> > airport last sighted).
> >
> > I've never written any xml. But apparently there are gems I could add
> > to my Ruby installation which would let me write it.
> >
> > Suggestions for where to start?
> >
> > I assume I'll wind up with a file that has
> > <model>DA20</model>
> > <serial>408.21</serial>
> >
> > and I can say things like
> > serial = xml('serial')
> > and
> > xml(serial) = '408.21'
> > right?
> >
> > I can picture writing these things, but I bet someone has already done the work.
> >
> > Thanks,
> > --Colin
>
> Why bother with xml at all? For something this small YAML would work
> just as well and requires less work too.

Oh, for some reason I thought the OP was scraping XML files and wanted
to keep the structure intact but just change parts. If all that is
needed is data persistence, YAML is a better choice for sure.