这是我正在处理的Nokogiri对象:
#<Nokogiri::XML::Element:0x81020c70 name="p" children=[#<Nokogiri::XML::Text:0x8101f3fc " May 12 - ">, #<Nokogiri::XML::Element:0x8101f3ac name="a" attributes=[#<Nokogiri::XML::Attr:0x8101f258 name="href" value="http://auburn.craigslist.org/cpg/3011653835.html">] children=[#<Nokogiri::XML::Text:0x8101ee20 "Wordpress Designer">]>, #<Nokogiri::XML::Text:0x8101ecb8 " - ">]>
它存储在一个数组中,所以当我这样做时:
my_array.first[:href]
它返回零。
当我这样做时
my_array.first.text
它返回:
5月12日 - WordPress Designer -
哪个是对的...如何从此特定记录中获取 HREF?
如果您发布的对象确实是my_array
中的第一个元素,那么my_array.first
将返回p
元素,而不是a
。看起来您想要的a
元素是此对象的第二个子元素,因此要访问它,您实际上需要:
my_array.first.children[1][:href]
您也可以直接使用 CSS 或 Xpath 表达式访问它。
当然,我真的只是猜测,因为你没有发布任何实际代码。