IIRC, можно также использовать следующее:
$in = fopen(STDIN, "r");
$out = fopen(STDOUT, "w");
Технически то же, но немного более чистый мудрый синтаксисом.
Вот работающий XPath:
require 'nokogiri'
doc = Nokogiri::HTML(DATA)
p doc.xpath('//li[contains(text(), "Apple")]')
__END__
<p>A paragraph <ul><li>Item 1</li><li>Apple</li><li>Orange</li></ul></p>
Надеюсь, что это поможет
Попробуйте использовать этот XPath:
p = doc.xpath('//p[//*[contains(text(), "Apple")]]')