如何解析Ruby中的面包屑

时间:2016-12-19 02:14:38

标签: html ruby xpath nokogiri

如何从我正在解析的HTML代码中为我的字符串添加管道分隔符?

HTML:

<div class="container">
  <div class="results">
    <div class="row">
      <div class="col">
        <nav class="breadcrumb-nav">
          <ol class="breadcrumb">
            <li>
              <a href="/">Home Page</a>
            </li>
            <li>
              <a href="link">Category Name</a>
            </li>
            <li>
              <a href="link">Sub Category Name</a>
            </li>
            <li>
              <a href="link">Another Sub Category Name</a>
            </li>
            <li class="highlight">
              <a href="link">Current Sub Category Page Name</a>
            </li>
          </ol>
        </nav>
      </div>
    </div>
  </div>
</div>

我的代码:

puts page.xpath(".//*[@class='breadcrumb']//a").text

显示器:

  

主页分类名称子类别名称另一个子类别名称当前子类别页面名称

我希望将其显示为

  

主页|类别名称|子类别名称......

2 个答案:

答案 0 :(得分:2)

您必须获取单个元素的文本,然后使用您的分隔符加入:

page.xpath(".//*[@class='breadcrumb']//a").map(&:text).join(' | ')

答案 1 :(得分:0)

更好;使用CSS来设置分隔符的样式。使用字形作为分隔符是一种糟糕的可访问性。