如何在Nokogiri包含中使用变量



我有一个XML文件,如:

<main>
  <key>xxx</key>
  <key>yyy</b>
  <key>zzz</key>
</main>

要检查XML是否有一个文本为"yyy"的节点,我可以使用:

xml = Nokogiri::XML(file)
if xml.at('main/key:contains("yyy")')
  #code will go here
end

但是,如果文本值是一个变量,我如何使用相同的语句?注意:我已经尝试了以下解决方案,但它不起作用:

var = "yyy"
if xml.at("main/key:contains(#{var})")
"main/key:contains(#{var})"

插入到

"main/key:contains(yyy)"

请注意没有引号。你想要这个:

"main/key:contains("#{var}")"

或者更漂亮的

%Q{main/key:contains("#{var}")}

如果你不确定CCD_ 1的内容,一些巧妙的转义也会有所帮助。

相关内容

  • 没有找到相关文章

最新更新