ASP.net / HTMLAgilityPack:在div中获取span的值

时间:2012-06-01 01:36:40

标签: asp.net html-agility-pack

Dim myHtml As New HtmlWeb
    Dim myPage As HtmlDocument = myHtml.Load("http://www.mysite.com")
    Dim myNode As HtmlAgilityPack.HtmlNode

    myNode = myPage.DocumentNode.SelectSingleNode("//div[@id='olpDivId']")

在olpDivid内部,有相同类的跨度

<span class="blah><a href="fsdfs1>1</a></span>
<span class="blah><a href="fsdfs1>2</a></span>
<span class="blah><a href="fsdfs1>3</a></span>

问题是我的olpDivId内部有三个具有相同类的跨度,我需要从第二个内部获取文本。

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找这个。

var myNode = myPage.DocumentNode.SelectSingleNode("//div[@id='olpDivId']/span[2]/a");

if (myNode != null)
{
    string value = myNode.InnerText.Trim();
}

我使用以下html代码段测试了此代码

<div id="olpDivId">
    <span class="blah"><a href="fsdfs1">1</a></span> <span class="blah"><a href="fsdfs1">
        2</a></span> <span class="blah"><a href="fsdfs1">3</a></span>
</div>