2010-07-26 91 views
0

我有一个快速的问题。我目前正在写一个引入nokogiri/Ruby脚本,并有下面的代码:Nokogiri /红宝石阵列问题

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> 

我想在的只是数字文本“< fullid> “保存,没有< fullId>,</fullId>标记。我错过了什么?

鲍比

回答

10

我想你想使用的文本()存取(返回子文本值),而不是to_s()(其序列化整个节点,当你看到这里)。

我不知道你呼吁writeg对象是什么,但下面的代码应该给你含在fullId节点中的所有文本的数组:

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

+1指点到最正确的答案 – Chubas 2010-07-26 23:25:38