我有一些像:
doc.css('results[name="test"]').map { |node| file.write node.ancestors("tests").first['name']; file.write "n" }
但是我想写的是:
doc.css('tests').map{ |node| file.write node.first['name'] if node.descendants('results').first['name'] == "test" }
但没有descendants
方法。如果我想采用第二种方法,我应该在代码片段中修改什么?
Try
doc.css('tests').each { |node| file.write node['name'] if node.css('results[name="test"]').any? }
或
doc.css('tests').select { |node| node.css('results[name="test"]').any? }.each { |node| file.write node['name'] }