首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HtmlAgilityPack ArgumentOutOfRangeException

HtmlAgilityPack ArgumentOutOfRangeException
EN

Stack Overflow用户
提问于 2013-07-12 16:03:40
回答 1查看 644关注 0票数 0

我正在尝试使用HtmlAgilityPack在Windows Phone上解析网站内容。我当前的代码是:

代码语言:javascript
复制
HtmlWeb.LoadAsync(url, DownloadCompleted);
...
void DownloadCompleted(object sender, HtmlDocumentLoadCompleted e)
    {
        if (e.Error == null)
        {
            HtmlDocument doc = e.Document;
            if (doc != null)
            {
                string test = doc.DocumentNode.Element("html").Element("body").Element("form").Elements("div").ElementAt(2).Element("table").Element("tbody").Elements("tr").ElementAt(4).Element("td").Element("center").Element("div").InnerText.ToString();
                System.Diagnostics.Debug.WriteLine(test);
            }
        }
    }

目前,当我运行上面的代码时,我在string test = doc.DocumentNode.Element("html").Element("body").Element("form").Elements("div").ElementAt(2).Element("table").Element("tbody").Elements("tr").ElementAt(4).Element("td").Element("center").Element("div").InnerText.ToString();上得到了一个ArgumentOutOfRangeException。

doc.DocumentNode.Element("html").InnerText.ToString()似乎给了我整个页面的源代码。

我要解析的网站的网址是:http://polyclinic.singhealth.com.sg/Webcams/QimgPage.aspx?Loc_Code=BDP

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 17:04:42

如果我没弄错的话,看起来你要找的是一个特定的DIV,它有一个唯一的标识符<td class="queueNo"><center><div id="divRegPtwVal">0</div></center></td>

为什么不简单地使用doc.DocumentNode.SelectSingleNode("//div[@id='divRegPtwVal']")doc.DocumentNode.Descendants("div").Where(div => div.Id == "divRegPtwVal").FirstOrDefault()

选择id为的特定镜像的图像源:

代码语言:javascript
复制
 var attrib = doc.DocumentNode.SelectSingleNode("//img[@id='imgCam2']/@src");
 //I suspect, might be a slightly different property, I can't check right now
 string src = attrib.InnerText;

或者:

代码语言:javascript
复制
var img = doc.DocumentNode.Descendants("img").Where(img => img.Id=="imgCam2");
string src = img.Attributes["Source"].Value;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17610305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档