タグのコンテンツ<description>
は HTML でエンコードされているため、HTML にデコードしてから再解析する必要があります。
require 'nokogiri'
doc = Nokogiri::XML::DocumentFragment.parse(<<EOT)
<description>
<img style='vertical-align:middle' src='http://pitre-web.tpg.ch/images?ligne=D' title='Perturbation Line D' alt='Perturbation Line D' />
<br/><br/>21:03 - THEME - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</description>
EOT
タグを見つける方法は次のとおりです。
description_text = doc.at('description')
そのコンテンツにアクセスするには、次を使用します。
description_text = doc.at('description').text
# => "\n<img style='vertical-align:middle' src='http://pitre-web.tpg.ch/images?ligne=D' title='Perturbation Line D' alt='Perturbation Line D' />\n<br/><br/>21:03 - THEME - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n"
そのコンテンツで何かをするには:
description_doc = Nokogiri::HTML::DocumentFragment.parse(description_text)
description_doc.at('img')['src'] # => "http://pitre-web.tpg.ch/images?ligne=D"
実際の XML は、質問で与えられたものと一致しません。これは、何が発生したかを示すより良い例です。
<?xml version='1.0' encoding='UTF-8'?>
<rss>
<channel>
<title />
<description />
<item>
<description>
<img style='vertical-align:middle' src='http://pitre-web.tpg.ch/images?ligne=2' title='Perturbation Ligne 2' alt='Perturbation Ligne 2' />
<br/><br/>18:47 - Surcharge de trafic - Retard de 8 minutes entre Marbriers et Gen&egrave;ve-Plage.
</description>
</item>
<item>
<description>
<img style='vertical-align:middle' src='http://pitre-web.tpg.ch/images?ligne=19' title='Perturbation Ligne 19' alt='Perturbation Ligne 19' />
<br/><br/>18:43 - Cimeti&egrave;re Saint-Georges - direction Vernier-Village - Incident &agrave; bord du v&eacute;hicule - Immobilisation du v&eacute;hicule
</description>
</item>
</channel>
</rss>
それに基づいて、URL を抽出するコードは次のとおりです。
require 'nokogiri'
doc = Nokogiri::XML(open('xml'))
img_srces = doc.search('item description').map{ |description|
desc_doc = Nokogiri::HTML(description.text)
desc_doc.at('img')['src']
}
img_srces
# => ["http://pitre-web.tpg.ch/images?ligne=2",
# "http://pitre-web.tpg.ch/images?ligne=19"]