使用xpath问题在xml中查找文本节点

时间:2009-10-14 12:38:39

标签: ruby-on-rails xml nokogiri title

我正在使用rails和Nokogiri解析器。我的xml如下所示,我正在尝试将“Biology:08:00”文本放入我的视图中。

 <rss version="2.0">
      <channel>
        <item>
          <title>Biology: 08:00</title>
          <description>Start time of Biology</description>
          <pubDate>Tue, 13 Oct 2009 UT</pubDate>
        </item>
       </channel>
    </rss>

我可以使用下面的代码找到带有“生物学”文本的节点

@content = doc.xpath('// title [contains(text(),“Biology”)]')

当我将它移动到我的视图中时,它奇怪地最终成为我的.html.erb页面的标题。我似乎无法通过

进入体内
<body>
<%=@content%>
</body>
谁知道发生了什么事?

1 个答案:

答案 0 :(得分:2)

您正在获取整个节点,该节点是<title>标记。

你想要:

@content = doc.xpath('//title[contains(text(),"Biology")]/text()')   

获取节点的文本内容