[% USE d = XML.LibXML( recover => 1, html_file => 'http://www.oreilly.com/catalog/top25.html', ); FOR row = d.findnodes('//h2[contains(.,"Best-Selling")]/following::tab +le/tr'); loop.count; " => "; row.findvalue("td[2]/a"); "\n"; END; -%] [download]