Я новичок в работе с XML, но мне просто нужно было упасть на колени. Мне был предоставлен обычный (мне) формат XML. В тегах есть двоеточия.
<THING1:things type="Container">
<PART1:Id type="Property">1234</PART1:Id>
<PART1:Name type="Property">The Name</PART1:Name>
</THING1:things>
Это большой файл, и есть гораздо больше, чем это, но я надеюсь, что этот формат будет кому-то знаком. Кто-нибудь знает способ приблизиться к XML-документу такого рода?
Я бы предпочел не просто написать грубую синтаксическую разборку текста, но я не могу показаться, что это продвигается с REXML или Hpricot, и я подозреваю, что это связано с этими необычными тегами.
мой код ruby:
require 'hpricot'
xml = File.open( "myfile.xml" )
doc = Hpricot::XML( xml )
(doc/:things).each do |thg|
[ 'Id', 'Name' ].each do |el|
puts "#{el}: #{thg.at(el).innerHTML}"
end
end
... который просто снят с: http://railstips.org/blog/archives/2006/12/09/parsing-xml-with-hpricot/
И я подумал, что мне удастся вычислить некоторые вещи, но этот код ничего не возвращает. Это не ошибка. Он просто возвращается.