VB.net HTML Agility和Xpath查找InnerText

时间:2015-06-23 10:53:10

标签: html vb.net xpath

我一直在阅读Xpath并尝试使用Agility Pack找到我,但这让我很难过。

HTML代码段:

<table class="full_width list" cellspacing="0" cellpadding="0">

            <tbody><tr>
                <td class="w10">
                    <a href="add_to_slip_wap.t?marketId=28911263.2&amp;outcomeId=159043327.2&amp;numerator=8&amp;denominator=1&amp;handicap=&amp;priceType=EP&amp;ts=1435050302005">
                            2
                    </a>


                </td>

            </tr>

这包含在其他一些标签中,但这是一个非常大的垃圾邮件发布整个事情,我不知道需要多少。我无法嵌入图片,但我有一个显示所有标签的Chromes Developer Tools屏幕:http://imgur.com/ri5XsJO

这个表重复了一遍,我试图循环找到w10类的内容。我尝试了很多不同的变化,但对我来说有意义的(但显然不起作用)是:

 For Each node As HtmlNode In document.DocumentNode.SelectNodes("//div/table/tbody/tr/td[@class='w10']")
        MsgBox(node.InnerText)
    Next

返回System.NullReferenceException。具体来说,我正在寻找锚文本(在这种情况下为2),但是[@ class ='w10'] // a的变化似乎没有起作用,所以我认为我认为在此之前出错了我是对的

我查看了代码并按照它来查找该类,并希望它会如此简单。显然不是。我假设我不需要在// html或者其他地方一直在顶部开始但是试图直接// [@ class ='w10']也不起作用。

如果有人能指出我正确的方向,我会很感激。我找到的很多示例代码都是单个节点,它们通常位于// div [@ class ='classname']中。一旦它开始被埋在标签中,我就失去了找到它的能力。

/编辑:

我遗漏的很明显的事情是xmlns说xhtml,这意味着现在所有东西都在不同的命名空间中。如果我弄清楚我在做什么,我会更新以防万一有人在将来寻找同样的东西。

0 个答案:

没有答案