DocumentNode.SelectNodes return null

本文关键字:null return SelectNodes DocumentNode | 更新日期: 2023-09-27 18:05:10

我想知道您是否可以向我解释一下我的脚本出了什么问题。我的字符串"temperature"总是返回"null"。我用的是htmllagilitypack。我想做的是从我朋友的网站上获取温度。

我的代码

private void temperatureBtn_Click(object sender, EventArgs e)
        {
            string url = "http://perso.numericable.fr/meteo-kintzheim/";
            HtmlWeb web = new HtmlWeb();
            HtmlAgilityPack.HtmlDocument doc = web.Load(url);
            string temperature = doc.DocumentNode.SelectNodes("/html/body/table[1]/tbody/tr[5]/td[3]/b[2]/font")[0].InnerText;
            MessageBox.Show(temperature.ToString());
        }

D

DocumentNode.SelectNodes return null

http://perso.numericable.fr/meteo-kintzheim/实际上是一个不同框架的框架集。

将URL更改为http://perso.numericable.fr/meteo-kintzheim/current.html(您想要的框架),并将XPath更改为:

string temperature = doc.DocumentNode.SelectNodes("/html/body/table[1]/tbody/tr[5]/td[3]/b[2]/font")[0].InnerText;

:

var temperature = doc.DocumentNode.SelectNodes("/html/body/table[1]/tr[5]/td[3]/b[2]/font")[0].InnerText;

省略tbody,因为它不是文档的一部分。