简体   繁体   English

如何仅提取和显示天气区中的当前温度?

[英]How to extract and display only the current temperature in weatherzone?

Fetching the data from weatherzone by C# code : 通过C#代码从weatherzone获取数据:

string url = "http://rss.weatherzone.com.au/?u=12994-1285&lt=twcid&lc=160255&obs=1&fc=1";
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();

Get current weather : 获取当前天气:

var temperature = feed.Items.ToList()[0].Summary.Text.Trim();

Output : 输出:

<b>Temperature:</b> 33.0&#176;C
<img align="top" src="http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif" alt="steady"/>
<br />
<b>Feels like:</b> 38.0&#176;C<br />
<b>Dew point:</b> 23.0&#176;C
<img align="top" src="http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif" alt="steady"/>
<br />
<b>Relative humidity:</b> 56%<br />
<b>Wind:</b> NE at 18 km/h, gusting to  km/h
<img align="top" src="http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif" alt="steady"/>
<br />
<b>Rain:</b> mm since 9am<br />
<b>Pressure:</b> 1013.0 hPa
<img align="top" src="http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif" alt="steady"/>
<br />

Question : How I can get Temperature in this output ? 问题:如何在此输出中获得温度?

You can do something crude like this: 您可以像这样做一些粗略的事情:

var stringTemp = "<b>Temperature:</b> 33.0&#176;C <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Feels like:</b> 38.0&#176;C<br /> <b>Dew point:</b> 23.0&#176;C <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Relative humidity:</b> 56%<br /> <b>Wind:</b> NE at 18 km/h, gusting to km/h <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Rain:</b> mm since 9am<br /> <b>Pressure:</b> 1013.0 hPa <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br />";
var start = stringTemp.IndexOf("</b>");
var end = stringTemp.IndexOf("<img");
var temp = stringTemp.Substring(start + "</b>".Length, end - start - "<img".Length);

Another way 其他方式

var temperature = "<b>Temperature:</b> 33.0&#176;C <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Feels like:</b> 38.0&#176;C<br /> <b>Dew point:</b> 23.0&#176;C <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Relative humidity:</b> 56%<br /> <b>Wind:</b> NE at 18 km/h, gusting to km/h <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br /> <b>Rain:</b> mm since 9am<br /> <b>Pressure:</b> 1013.0 hPa <img align=\"top\" src=\"http://www.weatherzone.com.au/images/widgets/nav_trend_steady.gif\" alt=\"steady\"/> <br />";

C# : C# :

    private static string Temperature(string temperature)
    {
        try
        {
            string[] value = Regex.Split(temperature, "\n");
            string[] temp = Regex.Split(value[0], "</b> ");
            return temp[1].Substring(0, 2);
        }
        catch { return string.Empty; }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM