ho questo xml:Nokogiri ogni nodo fare, Ruby
<kapitel>
<nummer V="1"/>
<von_icd_code V="A00"/>
<bis_icd_code V="B99"/>
<bezeichnung V="Bestimmte infektiöse und parasitäre Krankheiten"/>
<gruppen_liste>
<gruppe>
<von_icd_code V="A00"/>
<bis_icd_code V="A09"/>
<bezeichnung V="Infektiöse Darmkrankheiten"/>
<diagnosen_liste>
<diagnose>
<icd_code V="A00.-"/>
<bezeichnung V="Cholera"/>
<abrechenbar V="n"/>
<krankheit_in_mitteleuropa_sehr_selten V="j"/>
<schlüsselnummer_mit_inhalt_belegt V="j"/>
<infektionsschutzgesetz_meldepflicht V="j"/>
<infektionsschutzgesetz_abrechnungsbesonderheit V="j"/>
Come si può vedere il mio primo nodo è KAPITEL. Mi piacerebbe fare qualcosa come kapitel .each do | f | in modo che nokgiri esegua i nodi von_icd_code e bis_icd_code nell'ordine corretto. Il mio codice:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
@doc = Nokogiri::XML(File.open("icd.xml"))
kapitel = @doc.css('kapitel')
kapitel.each do |f|
puts f.css('von_icd_code')
puts f.css('bis_icd_code')
end
Il problema è che non Nogiri EXTRAKT il 'von_icd_code' e 'bis_icd_code' nel oder destra, invece un primo momento elencare tutti von_icd_code e poi all 'bis_icd_code'. Come posso estrapolare i nodi nel modo giusto?
E nella mia uscita ottengo:
<von_icd_code V="A00"/>
Come posso ottenere solo il contenuto del V in questo caso A00
Grazie!
Questo si basa sul fatto che 'bis_icd_code' appare sempre * dopo *' von_icd_code' in coppia. Potrebbero farlo, ma non ci sono prove di ciò. – Borodin
Ovviamente ce ne sono prove. Guarda l'esempio. – pguardiario