ok thanks very much, I decided to use REXML, but i have problem with
this examples.
Here are two small examples based on your original XML:
irb(main):001:0> require 'rexml/document'
=3D> true
irb(main):002:0> file =3D File.new('sample.xml')
=3D> #<File:sample.xml>
irb(main):003:0> doc =3D REXML:
ocument.new(file)
=3D> <UNDEFINED> ... </>
irb(main):004:0> root =3D doc.root
=3D> <env:Envelope xmlns:env=3D'
http://schemas.xmlsoap.org/soap/envelope/'>=
... </>
irb(main):005:0> root.each_element('//ns2:sourcingChannel') do |sC|
irb(main):006:1* puts sC.elements['name'].text
irb(main):007:1> end
United Utilities
testttttttttttt
Broadbean AdCourier - NEW
Monster
Pracuj.pl
momozozo
Vanilla
. .
irb(main):008:0> body =3D root.elements['env:Body']
=3D> <env:Body> ... </>
irb(main):009:0> acr =3D body.elements['ns2:getActiveChannelsResponse']
=3D> <ns2:getActiveChannelsResponse xmlns:ns2=3D'
http://ws.mrted.com/'> ...=
</>
irb(main):010:0> acr.elements.each do |sC|
irb(main):011:1* puts sC.elements['name'].text
irb(main):012:1> end
United Utilities
N Power
mzych.com
HPA
gttt
Vanilla
FCO
Lloyds TSB Tel Banking OTU
. .
irb(main):013:0> root.each_element('//ns2:sourcingChannel/name') do |name|
irb(main):014:1* puts name.text
irb(main):015:1> end
testttttttttttt
Broadbean AdCourier - NEW
Monster
Pracuj.pl
momozozo
Broadbean AdCourierx
Vanilla
. .
I usually use something like the first way: each_element with an XPath
to pull out the "record" nodes for processing.