如何使用 ARGV[1] 中的值搜索 XML 文件
How to search a XML file using the value in ARGV[1]
我正在尝试使用 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
您的字符串插值错误。
将其更改为:
doc.at("record:contains('#{keyword}')")
从双 "
开始并用 #{}
进行插值
我正在尝试使用 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
您的字符串插值错误。 将其更改为:
doc.at("record:contains('#{keyword}')")
从双 "
开始并用 #{}