如何在c#中显示7天的一周天气预报

时间:2017-10-11 05:14:46

标签: c# xml

我多次尝试过此代码。在代码下方但收到错误。

这是用于获得7天周预测的API。在下面我进入了城市"伦敦"所以我可以得到伦敦的7天预测报告。

http://api.apixu.com/v1/forecast.xml?key=5742bec32f4141e08db171907171010&q=london&days=7

当我用c#编写代码时。而不是伦敦,我通过了一个文本框控件。因为 我在文本框中输入的国家。特定国家/地区是7天预测将显示在网格视图中。  这是我试过的代码

string city = txtcity.Text;
                string uri = string.Format("http://api.apixu.com/v1/forecast.xml?key=02d3de968c424e20b5a74149172409 &q=" + city + " &days=7");

我在这一点上打了个招呼。我不知道如何在URL中传递文本框名称。

最终结果必须显示在网格视图控件上。我试过下面的代码。 7天预测必须显示在网格视图上。

            XmlReader xmlFile;
            xmlFile = XmlReader.Create(uri);
            DataSet ds = new DataSet();
            ds.ReadXml(xmlFile);
            dataGridView1.DataSource = ds.Tables[1];

拜托,有人,帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

我遇到了类似的事情:

string city = txtcity.Text;
// string.Format("foo{0}{1}", "bar", "foobar"); the bracket {0} will be replaced with bar and {1} with foobar 
// General better instead of using string concatenation "foor" + "bar" + "foobar"
string uri = string.Format("http://api.apixu.com/v1/forecast.xml?key=02d3de968c424e20b5a74149172409&q={0}&days=7", city);

DataSet ds = new DataSet();

// XmlReader is an IDisposable besure to dispose it
//using (IDisposable) makes sure, that the object gets disposed, when not needed anymore
using (XmlReader xmlFile = XmlReader.Create(uri))
{
    ds.ReadXml(xmlFile);
}

dataGridView1.DataSource = ds.Tables[1];

导致: Grid containing the data