سؤال

 lotofxpath = arrayofmanyxpaths.map{|s| "\"" + s + "\""}.join(",")
 puts lotofxpath #=> "/html/body/a[1]", "/html/body/a[2]"

 newb = doc.xpath(lotofxpath).to_a

وهذا لن ينجح، وتشكو من كسباث صالح.

ولكن، نسخ لصق سلسلة الانتاج

 newb = doc.xpath("/html/body/a[1]", "/html/body/a[2]").to_a

وستعمل دون مشاكل!

ما الذي يحدث هنا؟

هل كانت مفيدة؟

المحلول

في الحالة الأولى كنت في نهاية المطاف تدعو Nokogiri على النحو التالي

newb = doc.xpath("\"/html/body/a[1]\", \"/html/body/a[2]\"").to_a

وهذا ليس صحيحا روبي تركيب لإنجاز ما تحاول القيام به. الطريق الصحيح هو

newb = doc.xpath(*arrayofmanyxpaths).to_a
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top