我有一个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的内容,一些巧妙的转义也会有所帮助。