Im using savon gem to fetch xml information.
The xml response is like this
"<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\"><S:Body><Divisions xmlns=\"urn:description7a.services.chrome.com\"><responseStatus responseCode=\"Successful\" description=\"Successful\"/><division id=\"1\">Acura</division><division id=\"44\">Aston Martin</division><division id=\"4\">Audi</division><division id=\"45\">Bentley</division><division id=\"5\">BMW</division><division id=\"6\">Buick</division><division id=\"7\">Cadillac</division><division id=\"8\">Chevrolet</division><division id=\"9\">Chrysler</division><division id=\"11\">Dodge</division><division id=\"46\">Ferrari</division><division id=\"59\">FIAT</division><division id=\"13\">Ford</division><division id=\"15\">GMC</division><division id=\"16\">Honda</division><division id=\"17\">Hyundai</division><division id=\"18\">Infiniti</division><division id=\"19\">Isuzu</division><division id=\"20\">Jaguar</division><division id=\"21\">Jeep</division><division id=\"22\">Kia</division><division id=\"47\">Lamborghini</division><division id=\"23\">Land Rover</division><division id=\"24\">Lexus</division><division id=\"25\">Lincoln</division><division id=\"48\">Lotus</division><division id=\"53\">Maserati</division><division id=\"26\">Mazda</division><division id=\"27\">Mercedes-Benz</division><division id=\"2\">MINI</division><division id=\"29\">Mitsubishi</division><division id=\"30\">Nissan</division><division id=\"34\">Porsche</division><division id=\"57\">Ram</division><division id=\"49\">Rolls-Royce</division><division id=\"52\">Scion</division><division id=\"42\">Smart</division><division id=\"37\">Subaru</division><division id=\"38\">Suzuki</division><division id=\"56\">Tesla</division><division id=\"39\">Toyota</division><division id=\"40\">Volkswagen</division><division id=\"41\">Volvo</division></Divisions></S:Body></S:Envelope>"
i want to split the id and make name.
how can i do it
Edited
i have saved xml in a variable like
xml = 1.9.3p194 :063 > xml
=> "<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\"><S:Body><Divisions xmlns=\"urn:description7a.services.chrome.com\"><responseStatus responseCode=\"Successful\" description=\"Successful\"/><division id=\"1\">Acura</division><division id=\"44\">Aston Martin</division><division id=\"4\">Audi</division><division id=\"45\">Bentley</division><division id=\"5\">BMW</division><division id=\"6\">Buick</division><division id=\"7\">Cadillac</division><division id=\"8\">Chevrolet</division><division id=\"9\">Chrysler</division><division id=\"11\">Dodge</division><division id=\"46\">Ferrari</division><division id=\"59\">FIAT</division><division id=\"13\">Ford</division><division id=\"15\">GMC</division><division id=\"16\">Honda</division><division id=\"17\">Hyundai</division><division id=\"18\">Infiniti</division><division id=\"19\">Isuzu</division><division id=\"20\">Jaguar</division><division id=\"21\">Jeep</division><division id=\"22\">Kia</division><division id=\"47\">Lamborghini</division><division id=\"23\">Land Rover</division><division id=\"24\">Lexus</division><division id=\"25\">Lincoln</division><division id=\"48\">Lotus</division><division id=\"53\">Maserati</division><division id=\"26\">Mazda</division><division id=\"27\">Mercedes-Benz</division><division id=\"2\">MINI</division><division id=\"29\">Mitsubishi</division><division id=\"30\">Nissan</division><division id=\"34\">Porsche</division><division id=\"57\">Ram</division><division id=\"49\">Rolls-Royce</division><division id=\"52\">Scion</division><division id=\"42\">Smart</division><division id=\"37\">Subaru</division><division id=\"38\">Suzuki</division><division id=\"56\">Tesla</division><division id=\"39\">Toyota</division><division id=\"40\">Volkswagen</division><division id=\"41\">Volvo</division></Divisions></S:Body></S:Envelope>"
and i tried
@doc = Nokogiri::XML(xml)
it gave something like
#<Nokogiri::XML::Document:0x5ea65f0 name="document" children=[#<Nokogiri::XML::Element:0x5ea6398 name="Envelope" namespace=#<Nokogiri::XML::Namespace:0x5ea6370 prefix="S" href="http://schemas.xmlsoap.org/soap/envelope/"> children=[#<Nokogiri::XML::Element:0x5ea5fc4 name="Body" namespace=#<Nokogiri::XML::Namespace:0x5ea6370 prefix="S" href="http://schemas.xmlsoap.org/soap/envelope/"> children=[#<Nokogiri::XML::Element:0x5ea5c5e name="Divisions" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> children=[#<Nokogiri::XML::Element:0x5ea592a name="responseStatus" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> attributes=[#<Nokogiri::XML::Attr:0x5ea5858 name="responseCode" value="Successful">, #<Nokogiri::XML::Attr:0x5ea581c name="description" value="Successful">]>, #<Nokogiri::XML::Element:0x5ea518c name="division" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> attributes=[#<Nokogiri::XML::Attr:0x5ea515a name="id" value="1">] children=[#<Nokogiri::XML::Text:0x5ea4ad4 "Acura">]>, #<Nokogiri::XML::Element:0x5ea491c name="division" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> attributes=[#<Nokogiri::XML::Attr:0x5ea489a name="id" value="44">] children=[#<Nokogiri::XML::Text:0x63dc434 "Aston Martin">]>, #<Nokogiri::XML::Element:0x63dc222 name="division" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> attributes=[#<Nokogiri::XML::Attr:0x63dc1f0 name="id" value="4">] children=[#<Nokogiri::XML::Text:0x63dbcbe "Audi">]>, #<Nokogiri::XML::Element:0x63dbb56 name="division" namespace=#<Nokogiri::XML::Namespace:0x5ea5c18 href="urn:description7a.services.chrome.com"> attributes=[#<Nokogiri::XML::Attr:0x63dbb10 name="id" value="45">] ......
i tried @doc.xpath('//S:Envelope//S::Body').each do |f| puts f end
I get out put like
<S:Body>
<Divisions xmlns="urn:description7a.services.chrome.com">
<responseStatus responseCode="Successful" description="Successful"/>
<division id="1">Acura</division>
<division id="44">Aston Martin</division>
<division id="4">Audi</division>
<division id="45">Bentley</division>
<division id="5">BMW</division>
.......
</Divisions>
</S:Body>
i want to retrieve info like id and the name so i tried
it returned [], empty array
@doc.xpath('//S:Envelope//S::Body//Divisions')
it returned empty array like []