如何使用ARGV [1]中的值搜索XML文件

时间:2018-03-11 08:04:15

标签: ruby nokogiri

我正在尝试使用ARGV数组中的值搜索文件。但是使用doc.at不起作用。我已经将变量关键字设置为ARGV [1],并且当给出一个打印到控制台的值但是当我尝试将变量文本放到控制台时它会出现空白。

require 'nokogiri'

input = ARGV[0]
keyword = ARGV[1]

case input

when input = "list"
 doc = File.open("emails.xml") { |f| Nokogiri::XML(f) }
 text = doc.at('record:contains("{keyword}")')
 puts text
 puts keyword



else 
puts "no"

end

1 个答案:

答案 0 :(得分:0)

您的字符串插值错误。 将其更改为:

doc.at("record:contains('#{keyword}')")

以双"开头,并以#{}

进行插值