Hi
I have posted an XML list to a rails controller from a flex client
along the lines of
<itemList>
<item id="1" title="title one" value="6"
/>
<item id="5" title="title five " value="2"
/>
<item id="7" title="title blah blah"
value="7" />
</itemList>
The itemList is a parmeter passed to the controller, what I would like
to know is how I process the itemList as an XML entity. What I want to
do is loop through the items, find the object for the id and update
the value attribute based on the value from the XML list.
Is there an example around of doing a similar thing or if someone can
provide an answer I would much appreciate it.
Hi, On Mon, 2009-10-05 at 23:26 -0700, saxosurfin wrote:> Hi > > I have posted an XML list to a rails controller from a flex client > along the lines of > <itemList> > <item id="1" title="title one" value="6" /> > <item id="5" title="title five " value="2" /> > <item id="7" title="title blah blah" value="7" /> > </itemList> > > The itemList is a parmeter passed to the controller, what I would like > to know is how I process the itemList as an XML entity. What I want to > do is loop through the items, find the object for the id and update > the value attribute based on the value from the XML list. > > Is there an example around of doing a similar thing or if someone can > provide an answer I would much appreciate it.Check out Hpricot and REXml. Google for examples. Come back with specific questions if you have problems. HTH, Bill
suggesting gem nokogiri too Sijo -- Posted via http://www.ruby-forum.com/.
Hi
thnkas for the responses, I have tried to prgress this by using REXML,
and I have tried creating an REXL doc using
doc = REXML::Document.new ranking
where ranking is a variable that I have assigned from the paramters
submitted to my controller, the parameters shown in the log as
follows:
Parameters:
{"ranking"=>{"asset"=>[{"title"=>"title
one", "id"=>"1",
"rank"=>"1"},
{"title"=>"title two",
"id"=>"2", "rank"=>"2"},
{"title"=>"title fourteen ",
"id"=>"14", "rank"=>"3"},
.......
{"title"=>"title xxxxx",
"id"=>"3", "rank"=>"12"},
{"title"=>"title yyyyyy",
"id"=>"10", "rank"=>"13"}]},
"_method"=>"put",
"action"=>"ranking", "path_prefix"=>"/
demo", "controller"=>"assets"}
As a result of the Document.new I get the following error
NameError (undefined local variable or method `source'' for
REXML::SourceFactory:Class):
c:/ruby/lib/ruby/1.8/rexml/source.rb:20:in `create_from''
c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:130:in `stream=''
c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:107:in
`initialize''
c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in `new''
c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in `initialize''
I have tried various options but can''t seem to get round this. I
assume I am having this problem as REXML does not recoginise the input
to the new constructor as XML.
If anyone can shed any light on this I would much appreciate it.
cheers, G
On Oct 6, 11:32 am, bill walton
<bwalton...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Hi,
>
>
>
> On Mon, 2009-10-05 at 23:26 -0700, saxosurfin wrote:
> > Hi
>
> > I have posted an XML list to a rails controller from a flex client
> > along the lines of
> > <itemList>
> > <item id="1" title="title one"
value="6" />
> > <item id="5" title="title five "
value="2" />
> > <item id="7" title="title blah blah"
value="7" />
> > </itemList>
>
> > The itemList is a parmeter passed to the controller, what I would like
> > to know is how I process the itemList as an XML entity. What I want to
> > do is loop through the items, find the object for the id and update
> > the value attribute based on the value from the XML list.
>
> > Is there an example around of doing a similar thing or if someone can
> > provide an answer I would much appreciate it.
>
> Check out Hpricot and REXml. Google for examples. Come back with
> specific questions if you have problems.
>
> HTH,
> Bill
If that''s actually what''s in params, somebody''s already parsed the XML. No REXML needed... --Matt On Oct 12, 11:29 am, "grant.tf" <grant.tarrantfis...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi > > thnkas for the responses, I have tried to prgress this by using REXML, > and I have tried creating an REXL doc using > > doc = REXML::Document.new ranking > > where ranking is a variable that I have assigned from the paramters > submitted to my controller, the parameters shown in the log as > follows: > > Parameters: {"ranking"=>{"asset"=>[{"title"=>"title one", "id"=>"1", > "rank"=>"1"}, > {"title"=>"title two", "id"=>"2", "rank"=>"2"}, > {"title"=>"title fourteen ", "id"=>"14", "rank"=>"3"}, > > ....... > {"title"=>"title xxxxx", "id"=>"3", "rank"=>"12"}, > {"title"=>"title yyyyyy", "id"=>"10", "rank"=>"13"}]}, > "_method"=>"put", "action"=>"ranking", "path_prefix"=>"/ > demo", "controller"=>"assets"} > > As a result of the Document.new I get the following error > > NameError (undefined local variable or method `source'' for > REXML::SourceFactory:Class): > c:/ruby/lib/ruby/1.8/rexml/source.rb:20:in `create_from'' > c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:130:in `stream='' > c:/ruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:107:in > `initialize'' > c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in `new'' > c:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:8:in `initialize'' > > I have tried various options but can''t seem to get round this. I > assume I am having this problem as REXML does not recoginise the input > to the new constructor as XML. > > If anyone can shed any light on this I would much appreciate it. > > cheers, G > > On Oct 6, 11:32 am, bill walton <bwalton...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > Hi, > > > On Mon, 2009-10-05 at 23:26 -0700, saxosurfin wrote: > > > Hi > > > > I have posted an XML list to a rails controller from a flex client > > > along the lines of > > > <itemList> > > > <item id="1" title="title one" value="6" /> > > > <item id="5" title="title five " value="2" /> > > > <item id="7" title="title blah blah" value="7" /> > > > </itemList> > > > > The itemList is a parmeter passed to the controller, what I would like > > > to know is how I process the itemList as an XML entity. What I want to > > > do is loop through the items, find the object for the id and update > > > the value attribute based on the value from the XML list. > > > > Is there an example around of doing a similar thing or if someone can > > > provide an answer I would much appreciate it. > > > Check out Hpricot and REXml. Google for examples. Come back with > > specific questions if you have problems. > > > HTH, > > Bill