2013-08-12 1 views
0

Я пытаюсь разобрать этот XML-файл, проблема в том, что я каким-то образом не могу получить данные узла «gruppe».Как анализировать данные следующего узла в xml-файле

<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"/> 

Мой код:

doc = Nokogiri::XML(File.open("icd2.xml")) 

doc.css('nummer').each do |kapitel| 
    desc = kapitel.css('~ von_icd_code')[0] 
    desc2 = kapitel.css('~ bis_icd_code')[0] 
    desc3 = kapitel.css('~ bezeichnung')[0] 
    puts "#{desc['V']} #{desc2['V']} => #{desc3['V']}" 

    kapitel.css('~ gruppe').each do |gruppe| 
    asc = gruppe.node_name 
    puts " #{asc}" 

end 
end 

Формирует этот вывод:

A00 B99 => Bestimmte infektiöse und parasitäre Krankheiten 

Но почему генерирует этот кусок кода не выход?

kapitel.css('~ gruppe').each do |gruppe| 
    asc = gruppe.node_name 
    puts " #{asc}" 

end 

ответ

1

Попробуйте следующие вместо:

kapitel.css('~ gruppen_liste>gruppe').each do |gruppe| 
    asc = gruppe.node_name 
    puts " #{asc}" 
end 

~ x сиблинга x -tag узлы.

+0

Работы !!! Спасибо!! Привет из Германии –

+0

Извините, но у меня новый вопрос в этой теме: http://stackoverflow.com/questions/18187104/xml-access-next-node –

Смежные вопросы