Nokogiri / Ruby数组问题

时间:2010-07-26 22:53:30

标签: ruby-on-rails ruby rubygems nokogiri

我有一个简单的问题。我目前正在编写Nokogiri / Ruby脚本并拥有以下代码:

fullId = doc.xpath("/success/data/annotatorResultBean/annotations/annotationBean/concept/fullId")
fullId.each do |e|
            e = e.to_s()
            g.write(e + "\n")
    end

这会吐出以下文字:

<fullId>D001792</fullId>
<fullId>D001792</fullId>
<fullId>D001792</fullId>
<fullId>D008715</fullId>

我想要“&lt; fullid&gt;”之间的数字文本保存,没有&lt; fullId&GT;,&LT; / fullId&GT;标记。我错过了什么?

鲍比

1 个答案:

答案 0 :(得分:10)

我认为你想使用text()访问器(返回子文本值),而不是to_s()(序列化整个节点,如你所见)。

我不确定你正在调用的g对象write是什么,但是下面的代码应该给你一个包含fullId节点中所有文本的数组:

doc.xpath(your_xpath).map {|e| e.text}