Hi to everyone, I am getting xml in the below format <records> <grn> <first>1</first><second>2</second><third>3</third> </grn> <arn> <child1>First</child1><child2>Second</child2><child3>Third</child3> </arn> <arn> <child1>First</child1><child2>Second</child2><child3>Third</child3> </arn> <arn> <child1>First</child1><child2>Second</child2><child3>Third</child3> </arn> </records> I have to store this xml in my table sample which contain the fields as id,first,second,third,child1,child2 and child3,all are string fields except id field and my record structure to be id first second third child1 child2 child3 --------------------------------------------------------------------------------------------------- 1 1 2 3 First Second Third 2 1 2 3 First Second Third 3 1 2 3 First Second Third --------------------------------------------------------------------------------------------------- Can any One tell me how to acheive this I tried with XMLSimple,Rexml or even with Hashs With XMLSimple Some garbage getting inserted into the table along with the value through hashes I can access each element and put in that table object but I''m getting Hashes which includes array also So for 3 entries we can do but it is large process for more records (accessing each element). And not a feasible solution also Please help me how can I acheive these --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Have you tried Nokogiri? You can access elements through XPath and iterate over them easily: require ''nokogiri'' xml_doc = Nokogiri::XML(@string_with_your_xml) grn_elements = xml_doc.xpath(''//grn'') arn_elements = xml_doc.xpath(''//arn'') arn_elements[0].children each do |child| puts "Name: #{child.name} Value: #{child.inner_text}" end On Jan 29, 12:19 pm, hema gonaboina <hema.soli...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi to everyone, > > I am getting xml in the below format > <records> > <grn> > <first>1</first><second>2</second><third>3</third> > </grn> > <arn> > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > </arn> > <arn> > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > </arn> > <arn> > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > </arn> > </records> > > I have to store this xml in my table sample which contain the fields as > id,first,second,third,child1,child2 and > child3,all are string fields except id field > > and my record structure to be > > id first second third child1 child2 > child3 > --------------------------------------------------------------------------------------------------- > 1 1 2 3 First Second > Third > 2 1 2 3 First Second > Third > 3 1 2 3 First > Second Third > --------------------------------------------------------------------------------------------------- > > Can any One tell me how to acheive this > > I tried with XMLSimple,Rexml or even with Hashs > > With XMLSimple Some garbage getting inserted into the table along with the > value > through hashes I can access each element and put in that table object > but I''m getting Hashes which includes array also So for 3 entries we can do > but it is large process for more records (accessing each element). And not a > feasible solution also > > Please help me how can I acheive these--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thank you But it is trowing the error as NoMethodError: undefined method `each'' for #<Nokogiri::XML::Element: 0x45146a0> when i try with each is there any way to access the arn_elements[0].children ? On Jan 29, 5:59 pm, Bosko Ivanisevic <bosko.ivanise...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Have you tried Nokogiri? You can access elements through XPath and > iterate over them easily: > > require ''nokogiri'' > > xml_doc = Nokogiri::XML(@string_with_your_xml) > grn_elements = xml_doc.xpath(''//grn'') > arn_elements = xml_doc.xpath(''//arn'') > arn_elements[0].children each do |child| > puts "Name: #{child.name} Value: #{child.inner_text}" > end > > On Jan 29, 12:19 pm, hema gonaboina <hema.soli...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Hi to everyone, > > > I am getting xml in the below format > > <records> > > <grn> > > <first>1</first><second>2</second><third>3</third> > > </grn> > > <arn> > > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > > </arn> > > <arn> > > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > > </arn> > > <arn> > > > <child1>First</child1><child2>Second</child2><child3>Third</child3> > > </arn> > > </records> > > > I have to store this xml in my table sample which contain the fields as > > id,first,second,third,child1,child2 and > > child3,all are string fields except id field > > > and my record structure to be > > > id first second third child1 child2 > > child3 > > --------------------------------------------------------------------------------------------------- > > 1 1 2 3 First Second > > Third > > 2 1 2 3 First Second > > Third > > 3 1 2 3 First > > Second Third > > --------------------------------------------------------------------------------------------------- > > > Can any One tell me how to acheive this > > > I tried with XMLSimple,Rexml or even with Hashs > > > With XMLSimple Some garbage getting inserted into the table along with the > > value > > through hashes I can access each element and put in that table object > > but I''m getting Hashes which includes array also So for 3 entries we can do > > but it is large process for more records (accessing each element). And not a > > feasible solution also > > > Please help me how can I acheive these > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---