c#XPath获取InnerText的值

时间:2018-05-03 08:11:06

标签: c# html xpath

我有这样的HTML文字:

<div class="Lts(1px) Fz(14px) Fs(i) Lh(2.5) Fw(300) Tsh($temperature-text-shadow)"><span>5/3, 12:48 PM</span></div></section><section class="weather-card C(#fff) M(10px) Pos(a) B(0) Start(0) End(0)" data-type="temperature" data-reactid="21"><div class="temperature Fz(14px) Tsh($temperature-text-shadow)" data-reactid="22"><div class="My(2px)" data-reactid="23"><span data-code="30" class="Va(m)" data-reactid="24"><img alt="Partly Cloudy" title="Partly Cloudy" class=" " src="Sadiqabad,%20Pakistan%20-%20Weather%20Forecasts%20%20%20Maps%20%20%20News%20-%20Yahoo%20Weather_files/partly_cloudy_day2x.png" data-reactid="25" width="32" height="32"></s`enter code here`pan><span class="description Va(m) Px(2px) Fz(1.3em)--sm Fz(1.6em)" data-reactid="26">Partly Cloudy</span></div>

我指定节点的XPath是/ html / body / div [1] / div / div [1] / div / div [4] / div [1] / div / div [2] / div / div / div / DIV /部分[1] / DIV [3] /跨度

我有这样的代码:

HtmlWeb web = new HtmlWeb();
                HtmlAgilityPack.HtmlDocument doc = web.Load("https://www.yahoo.com/news/weather/pakistan/punjab/sadiqabad-2211402");
                var xpathcity = "//*[@id=\"Lead-1-WeatherLocationAndTemperature\"]/div/section[1]/div[1]/div/h1";
                var xpathcountry = "/html/body/div[1]/div/div[1]/div/div[4]/div[1]/div/div[2]/div/div/div/div/section[1]/div[1]/div/div";
                var xpathupdatetime = "//*[@id=\"Lead-1-WeatherLocationAndTemperature\"]/div/section[1]/div[3]/span";
                var xpathcloudname = "//*[@id=\"Lead-1-WeatherLocationAndTemperature\"]/div/section[2]/div/div[1]/span[2]";
                var xpathtemperature = "/html/body/div[1]/div/div[1]/div/div[4]/div[1]/div/div[2]/div/div/div/div/section[2]/div/div[3]/span[1]";
                textBox1.Text = doc.DocumentNode.SelectSingleNode(xpathcity).InnerText;
                textBox2.Text = doc.DocumentNode.SelectSingleNode(xpathcountry).InnerText.Trim ();
              **// Console.WriteLine ( doc.DocumentNode.SelectSingleNode(xpathupdatetime).InnerText);**
                textBox4.Text = doc.DocumentNode.SelectSingleNode(xpathcloudname).InnerText;
                textBox5.Text = doc.DocumentNode.SelectSingleNode(xpathtemperature).InnerText;

它的所有功能,但更新时间不起作用,它在WindowsFormsApplication26.exe中说“System.NullReferenceException”

请帮助获取值更新时间变量。

0 个答案:

没有答案