在html元素中获取文本

时间:2013-03-30 14:16:33

标签: c# xpath html-agility-pack

我正在使用HTMLAgilityPack在某些节点列表中获取文本。 基本上我正在读出一个包含以下HTML的HTML页面:

<div class="video-overview yt-grid-fluid">
   <h3 class="video-title-container">
       <span class="yt-badge-std">
            WATCHED
        </span>
      <a href="/watch?v=S5FCdx7Dn0o&amp;list=FLArRQZAMoAgECBIOn08gNeA&amp;index=1" title="Bob Marley - Buffalo soldier" class="yt-uix-tile-link yt-uix-sessionlink" data-sessionlink="ei=c9tWUb3eJaOzhgG6kYHYAg&amp;feature=plpp_video">
        <span class="title video-title" dir="ltr">Bob Marley - Buffalo soldier</span>
      </a>
   </h3>

      <p class="video-details">
        <span class="video-owner">
             by <span class="yt-user-name " dir="ltr">Pgroenberg</span>
        </span>

          <span class="video-view-count">
            44,342,136 views
          </span>
      </p>
  </div>

我想在<span class="title video-title" dir">内找到“Bob Marley - Buffalo士兵”的文字。

我似乎找不到合适的模式:

string expression = @"//span[@class='title video-title' and @dir='ltr']/text()";
HtmlNodeCollection hnc = htmlDoc.DocumentNode.SelectNodes(expression);

hnc将为null,因为没有节点与表达式匹配。为什么我的表达不起作用?

0 个答案:

没有答案