无法使用HTML Agility Pack检索输入标记

时间:2014-10-04 02:20:32

标签: c# html windows-phone-8 html-agility-pack

我试图抓一个随机网站输入标签。

因此,我需要以这样的方式编写它,以便它可以与大多数网站一起使用。

目前我有

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{

    HtmlAgilityPack.HtmlDocument dom = new HtmlAgilityPack.HtmlDocument();

    dom.LoadHtml(e.Result);

    var node = dom.DocumentNode.Element("html");

    var inputs = node.ChildNodes["body"].Descendants("input");

但这不起作用。

节点返回我想要的数据,但输入总是为空。

当我node.ChildNodes["body"].Descendants().ToList();时,我会看到名为" input"的条目。

enter image description here

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您的代码很好,它只是您验证错误的方式。屏幕截图中的所有null值都不表示IEnumerable<T>为空,您可以尝试在观察窗口中调用inputs.ToArray()inputs.ToList()来验证结果

请记住,IEnumerable<T>在必要时延迟加载项目,例如,直到您进行迭代,致电ToList() / ToArray()等。