how to convert the hash to xml - "Not all elements respond to to_xml"

Hi,

I have a problem…

I am Working on Rails with Flex.

I am getting a xml from the flex form… I need to get the xml and has to insert the record

The xml I am getting in the form as…

100

“xyz”

12-32-122/34

123 road

unknown

state

In

321456

Developer

.

.

101

“pqr”

1-122/76

cross road

city

some state

US

321456

Developer

.

.

.

.

.

In these… each insert tag is a record which have to be entered into DB.

But we are receiving the xml as HashWithIndifferentAccess

params[:xml].class => HashWithIndifferentAccess

We tried converting into hash

h = (params[:xml]).Hash

puts “#{h.to_xml}”

it is showing the error as “Not all elements respond to to_xml”

How to achieve the insertion are there any ways to get the xml…

Hi,

I have a problem..
I am Working on Rails with Flex.
I am getting a xml from the flex form.. I need to get the xml and
has to insert the record
The xml I am getting in the form as...
<root>
<insert>
<number>
100
</number>
<name>
"xyz"
</name>
<address>
<street>

<street1> 12-32-122/34 </street1>
<street2> 123 road </street2>
</street>
<city> unknown </city>
<state> state </state>
<country> In </country>
<zip> 321456 </zip>
</address>
<job>
Developer
</job>
.
.

            &lt;/insert&gt;
            &lt;insert&gt;
                  &lt;number&gt;
                            101
                 &lt;/number&gt;
                 &lt;name&gt;
                             &quot;pqr&quot;
                 &lt;/name&gt;
                  &lt;address&gt;
                              &lt;street&gt;

<street1> 1-122/76 </street1>
<street2> cross road </street2>
</street>
<city> city </city>
<state> some state </state>
<country> US </country>
<zip> 321456 </zip>
</address>
<job>
Developer
</job>
.
.

            &lt;/insert&gt;
                 \.
                 \.
                 \.
     &lt;/root&gt;

In these... each insert tag is a record which have to be entered into
DB.
But we are receiving the xml as HashWithIndifferentAccess
params[:xml].class => HashWithIndifferentAccess

Rails parses the xml for you (into a hash). you can get the raw body
of the request if you want (@request.body)

Fred

Frederick Cheung wrote:

� � � � � � � � � � � � � � � � 100
� � � � � � � � � � � � � � � � � <city> unknown </city>
� � � � � � � � </insert>
<street1> 1-122/76 </street1>
� � � � � � � � � � � �.
� But we are receiving the xml as HashWithIndifferentAccess
� params[:xml].class => �HashWithIndifferentAccess

Rails parses the xml for you (into a hash). you can get the raw body
of the request if you want (@request.body)

Fred

Thank You Fred for your response

But, I didn't get you.. Can U explain me with example.. I need the xml
only but i am receiving object of class HashWithIndifferentAccess.. so i
am trying to convert into pure Hash and then to xml..
How to receive the value as xml ?
If it works no need of conversion..
How to use the @request.body ?

Don't know how else to explain it - request.body ( my mistake - the @
there is deprecated) is exactly the bytes that were sent to you.
Trying to convert the hash back to xml seems completely circular (and
HashWithIndifferentAccess is almost the same as Hash - the only
difference is that you can use symbols or strings for the keys and
they are considered identical)

Fred

Hema Gonaboina wrote:

Frederick Cheung wrote:

� � � � � � � � � � � � � � � � 100
� � � � � � � � � � � � � � � � � <city> unknown </city>
� � � � � � � � </insert>
<street1> 1-122/76 </street1>
� � � � � � � � � � � �.
� But we are receiving the xml as HashWithIndifferentAccess
� params[:xml].class => �HashWithIndifferentAccess

Rails parses the xml for you (into a hash). you can get the raw body
of the request if you want (@request.body)

Fred

Thank You Fred for your response

But, I didn't get you.. Can U explain me with example.. I need the xml
only but i am receiving object of class HashWithIndifferentAccess.. so i
am trying to convert into pure Hash and then to xml..
How to receive the value as xml ?
If it works no need of conversion..
How to use the @request.body ?

  I worked on it..
    and found that it is collecting as hashes with arrays in between

     in out case it is as {"root" => {"insert"=>
[{"name"=>"xyz","address"=>[{"city"=>"city","state"=>"state"....}],"job"=>"developer",....},{"name"=>"pqr","address"=>[{},{}...],..}]}}
    That is it takes arrays between the hashes..