我对使用 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 方面取得任何进展,我怀疑这是由于这些不寻常的标签。
我的红宝石代码:
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/
我想我可以从这里找出一些东西,但是这段代码什么也没返回。它不会出错。它只是返回。