0

我正在尝试解析下面的 html 代码中的第一个链接/search?id=3

<div class="brs_col">
  <p>
    <a href="/search?id=3">
      <b>
        vastu shastra
      </b>
    </a>
  </p>
  <p>
    <a href="/search?id=1">
      <b>
        bygga
      </b>
      bastu
    </a>
  </p>
</div>

我尝试使用以下 XPATH 选择它,但似乎无法让它们中的任何一个工作:

//div[@class='brs_col']//p//a[@href]
//div[@class='brs_col']//p[0]//a[@href]
//div[@class='brs_col']//p//a[0][@href]

有任何想法吗?

4

3 回答 3

0

你可以试试这个

doc.DocumentNode.SelectNodes("//a[@href]").FirstOrDefault();
于 2013-05-21T09:47:34.963 回答
0

如果您确定这是整个 HTML 文档中的第一个 url:

doc.DocumentNode.SelectSingleNode("//a").Attributes["href"].Value;

或者如果您确定这是 brs_col 类中的第一个 ulr

doc.DocumentNode.SelectSingleNode("//div[@class='brs_col']//a").Attributes["href"].Value;
于 2013-05-23T09:52:36.903 回答
0

尝试这个:

var doc = new HtmlDocument();
doc.LoadHtml(@"<div class=""brs_col"">
                  <p><a href=""/search?id=3""><b>vastu shastra</b></a></p>
                  <p><a href=""/search?id=1""><b>bygga</b>bastu</a></p>
                </div>");
var hrefValue = doc.DocumentNode
                   .SelectSingleNode("//div[@class='brs_col']/p/a")
                   .Attributes["href"]
                   .Value;
于 2013-05-21T07:35:36.783 回答