Nokogiri ist ein Gem für die Programmiersprache Ruby. Um damit XML-Dateien zu verarbeiten, geht man folgendermaßen vor.
Angenommen, wir haben folgende XML-Datei
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
<CD>
<TITLE>Greatest Hits</TITLE>
<ARTIST>Dolly Parton</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>RCA</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1982</YEAR>
</CD>
</CATALOG>
Angenommen, wir möchten jetzt alle Titel erhalten, dann gehen wir folgendermaßen vor:
require 'rubygems'
require 'nokogiri'
doc = Nokogiri::XML(File.open('cd_catalog.xml'))
doc.xpath('//TITLE').each do |e|
puts e.text
end
Anstatt einer Datei kann man bei Nokogiri::XML auch eine String angeben, wenn man die XML-Dateien bereits irgendwie als String vorliegen hat:
doc = Nokogiri::XML(mein_string_mit_xml_daten)
Als Ausgabe wird Folgendes geliefert:
Empire Burlesque
Hide your heart
Greatest Hits