Хорошо, переключение с рабочего Hpricot на Libxml-ruby из-за скорости и ну, исчезновение _why, некоторое время посмотрело на Nokogiri, но решило посмотреть на Libxml-ruby на скорость и долговечность. Должно быть, я что-то отсутствует основной, но то, что им пытаются сделать, это не работает, вот мой XML строка:libxml-ruby синтаксический анализ ПОМОЩЬ
<?xml version="1.0" encoding="utf-8" ?>
<feed>
<title type="xhtml"></title>
<entry xmlns="http://www.w3.org/2005/Atom">
<id>urn:publicid:xx.xxx:xxxxxx</id>
<title>US--xxx-xxxxx</title>
<updated>2009-08-19T15:49:51.103Z</updated>
<published>2009-08-19T15:44:48Z</published>
<author>
<name>XX</name>
</author>
<rights>blehh</rights>
<content type="text/xml">
<nitf>
<head>
<docdata>
<doc-id regsrc="XX" />
<date.issue norm="20090819T154448Z" />
<ed-msg info="Eds:" />
<doc.rights owner="xx" agent="hxx" type="none" />
<doc.copyright holder="xx" year="2009" />
</docdata>
</head>
<body>
<body.head>
<hedline>
<hl1 id="headline">headline</hl1>
<hl2 id="originalHeadline">blah blah</hl2>
</hedline>
<byline>john doe<byttl>staffer</byttl></byline>
<distributor>xyz</distributor>
<dateline>
<location>foo</location>
</dateline>
</body.head>
<body.content>
<block id="Main">
story content here
</block>
</body.content>
<body.end />
</body>
</nitf>
</content>
</entry>
</feed>
существует около 150 таких записей из комбикорма.
Я просто хочу пропустить 150 записей, а затем захватить содержимое и атрибуты, но у меня есть адское время с libxml-ruby, если он отлично работает с Hpricot.
Этот небольшой фрагмент кода показывает, что им даже не получать записи:
parser = XML::Parser.string(file)
doc = parser.parse
entries = doc.find('//entry')
puts entries.size
entries.each do |node|
puts node.inspect
end
Любые идеи? Я просмотрел документы и не смог найти простой здесь XML-файл, и вот примеры вывода x, y, z. Это должно быть довольно просто.
Я забыл вернуться к этой теме, но да, я сделал что-то подобное Tin – initialized