[Ruby] Newby XML question
John Chaffee
johnchaffee at mac.com
Fri Apr 27 20:30:35 PDT 2007
Hi,
I'm a total newby to web development, let alone Ruby on Rails. So
forgive me if this is a really dumb question.
I'm trying to figure out how to accept an XML post to my Ruby on
Rails app. Specifically, I'll be using eSellerate, an ecommerce
provider, for my online sales, which will post XML Order Notices to
my server whenever an order has been placed. The XML Order Notice
will contain the order details, and I want to create a new record in
my database from those details.
A sample XML file is below. I think REXML will do what I need but all
the examples I've found online show how to parse an XML file that
resides on your desktop. What I need to know is how to parse an XML
file that is being sent over the internet.
Thanks,
-John
XML sample file
===============
<?xml version = '1.0'?><MY_PRODUCTS> <SKU num="1">
<SKU_NAME>PhotoFixR 1.0</SKU_NAME> <PUBLISHER_NAME>Acme Software
Online</PUBLISHER_NAME> <SHORT_DESCRIPTION>Short description of
PhotoFixR 1.0 goes here.</SHORT_DESCRIPTION>
<LONG_DESCRIPTION>Long description of PhotoFixR 1.0 goes here.</
LONG_DESCRIPTION> <EST> Hosted </EST> <PRICE>25</
PRICE> <RATE>14</RATE> <RELEVANCE>Secondary</
RELEVANCE> <PLATFORM>Windows</PLATFORM>
<PRODUCT_IMAGE_URL>http://store.esellerate.net/store/img/usr/
PUB12345678/SKU123456789/photofxrmain.jpg</PRODUCT_IMAGE_URL>
<BUY_URL>http://store.eSellerate.net/a.asp?
c=0_SKU123456789_AFL987654321&AT=TrackMe</BUY_URL>
<MORE_INFO_URL>http://store.eSellerate.net/a.asp?
c=1_SKU123456789_AFL987654321</MORE_INFO_URL>
<CATALOG_URL>http://store.eSellerate.net/a.asp?
c=2_SKU123456789_AFL987654321</CATALOG_URL>
<ESELLERATE_HOSTED_URL>http://get.esellerate.net/get/est.aspx?
c=123RU3TSUT&AT=TrackMe</ESELLERATE_HOSTED_URL>
<FILESIZE>1383.33 Kb</FILESIZE> <LANDING_PAGES>
<LANDING_PAGES_ROW num="1"> <LANDING_PAGE_URL>http://
get.esellerate.net/get/ALP123456789/?
skuid=SKU123456789&affid=AFL987654321&at=TrackMe&discountedp
rice=20&couponid=bxg5off&discountamt=5&pt=PubTrack</
LANDING_PAGE_URL> </LANDING_PAGES_ROW>
<LANDING_PAGES_ROW num="2"> <LANDING_PAGE_URL>http://
get.esellerate.net/get/ALP234567891/?
skuid=SKU123456789&affid=AFL987654321&at=TrackMe&pt=pubtrack
</LANDING_PAGE_URL> </LANDING_PAGES_ROW> </
LANDING_PAGES> <CATEGORIES> <CATEGORIES_ROW
num="1"> <CATEGORY>Pocket PC</CATEGORY>
<SUBCATEGORY>Internet</SUBCATEGORY> </CATEGORIES_ROW> </
CATEGORIES> </SKU> <SKU num="2"> <SKU_NAME>Great Product
2.0</SKU_NAME> <PUBLISHER_NAME>Generic Software Limited</
PUBLISHER_NAME> <SHORT_DESCRIPTION>Short description of Great
Product 2.0 goes here.</SHORT_DESCRIPTION>
<LONG_DESCRIPTION>Long description of Great Product 2.0 goes here.</
LONG_DESCRIPTION> <EST>None</EST> <PRICE>20</PRICE>
<RATE>32</RATE> <RELEVANCE>Primary</RELEVANCE>
<PLATFORM>Windows</PLATFORM> <PRODUCT_IMAGE_URL>http://
store.esellerate.net/store/img/usr/PUB123123123/SKU12341234/
GP122.jpg</PRODUCT_IMAGE_URL> <BUY_URL>http://
store.eSellerate.net/a.asp?
c=0_SKU12341234_AFL987654321&AT=TrackMe</BUY_URL>
<MORE_INFO_URL>http://store.eSellerate.net/a.asp?
c=1_SKU12341234_AFL987654321</MORE_INFO_URL> <CATALOG_URL>http://
store.eSellerate.net/a.asp?c=2_SKU12341234_AFL987654321</
CATALOG_URL> <ESELLERATE_HOSTED_URL> </
ESELLERATE_HOSTED_URL> <FILESIZE>1522.11 Kb</FILESIZE>
<LANDING_PAGES/> <CATEGORIES> <CATEGORIES_ROW
num="1"> <CATEGORY>Audio</CATEGORY>
<SUBCATEGORY>Personal Tech Solutions</SUBCATEGORY> </
CATEGORIES_ROW> </CATEGORIES> </SKU> <SKU num="3">
<SKU_NAME>Promotional Gift #1</SKU_NAME> <PUBLISHER_NAME>Acme
Software Online</PUBLISHER_NAME> <SHORT_DESCRIPTION>Short
description of Promotional Gift #1 goes here.</
SHORT_DESCRIPTION> <LONG_DESCRIPTION>Long description of
Promotional Gift #1 goes here.</LONG_DESCRIPTION> <EST> Hosted </
EST> <PRICE>18</PRICE> <RATE>17</RATE>
<RELEVANCE>Secondary</RELEVANCE> <PLATFORM>Windows</
PLATFORM> <PRODUCT_IMAGE_URL>http://store.esellerate.net/store/
img/usr/PUB12345678/SKU98764123/PG1520.jpg</PRODUCT_IMAGE_URL>
<BUY_URL>http://store.eSellerate.net/a.asp?
c=0_SKU98764123_AFL987654321&AT=TrackMe</BUY_URL>
<MORE_INFO_URL>http://store.eSellerate.net/a.asp?
c=1_SKU98764123_AFL987654321</MORE_INFO_URL> <CATALOG_URL>http://
store.eSellerate.net/a.asp?c=2_SKU98764123_AFL987654321</
CATALOG_URL> <ESELLERATE_HOSTED_URL>http://get.esellerate.net/
get/est.aspx?c=FQF31A2ZJ2&AT=TrackMe</ESELLERATE_HOSTED_URL>
<FILESIZE>1383.33 Kb</FILESIZE> <LANDING_PAGES/>
<CATEGORIES> <CATEGORIES_ROW num="1">
<CATEGORY>Audio</CATEGORY> <SUBCATEGORY>Music Creation</
SUBCATEGORY> </CATEGORIES_ROW> </CATEGORIES> </SKU>
<SKU num="4"> <SKU_NAME>Sounder 4.2</SKU_NAME>
<PUBLISHER_NAME>Simple Equals Good</PUBLISHER_NAME>
<LONG_DESCRIPTION>Long description of Sounder 4.2 goes here.</
LONG_DESCRIPTION> <EST> Downloadable </EST> <PRICE>5</
PRICE> <RATE>30</RATE> <RELEVANCE>Primary</RELEVANCE>
<PLATFORM>Windows</PLATFORM> <PRODUCT_IMAGE_URL>http://
store.esellerate.net/store/img/usr/PUB1234898/SKU1234588/
SounderImg.jpg</PRODUCT_IMAGE_URL> <BUY_URL>http://
store.eSellerate.net/a.asp?
c=0_SKU1234588_AFL987654321&AT=TrackMe</BUY_URL>
<MORE_INFO_URL>http://store.eSellerate.net/a.asp?
c=1_SKU1234588_AFL987654321</MORE_INFO_URL> <CATALOG_URL>http://
store.eSellerate.net/a.asp?c=2_SKU1234588_AFL987654321</
CATALOG_URL> <ESELLERATE_HOSTED_URL> </
ESELLERATE_HOSTED_URL> <FILESIZE>2221.52 Kb</FILESIZE>
<LANDING_PAGES/> <CATEGORIES> <CATEGORIES_ROW
num="1"> <CATEGORY>Audio</CATEGORY>
<SUBCATEGORY>Players</SUBCATEGORY> </CATEGORIES_ROW>
<CATEGORIES_ROW num="2"> <CATEGORY>Audio</
CATEGORY> <SUBCATEGORY>Music Creation</
SUBCATEGORY> </CATEGORIES_ROW> </CATEGORIES> </SKU></
MY_PRODUCTS>
More information about the Ruby
mailing list