从URL读取xml

时间:2013-02-15 22:07:37

标签: c# xml

这是我到目前为止所拥有的。我试图从URL读取XML,并获得例如温度,湿度......等等。但每次我尝试别的东西它都会给我一个错误。我想检索信息并将其放在标签中。

namespace WindowsFormsApplication1 {
    public partial class Form1: Form {
        public Form1() {
            InitializeComponent();
        }
        private void btnSubmit_Click(object sender, EventArgs e) {
            String zip = txtZip.Text;
            XmlDocument weatherURL = new XmlDocument();
            weatherURL.Load("http://api.wunderground.com/api/"
            your_key "/conditions/q/" + zip + ".xml");
            foreach(XmlNode nodeselect in weatherURL.SelectNodes("response/current_observation"));
        }
    }
}

2 个答案:

答案 0 :(得分:15)

我花了一些试验和错误,但我已经得到了它。在C#中,请确保使用 - 使用System.Xml;

以下是使用wunderground API的代码。为了使其工作,请确保您注册其他方面的密钥,它将无法正常工作。在哪里说这是你放入钥匙的你的钥匙。它应该看起来像这样。我用一个按钮和三个标签来显示信息。

namespace wfats2

{

  public partial class Form1 : Form

{

 public Form1()

        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            XmlDocument doc1 = new XmlDocument();
            doc1.Load("http://api.wunderground.com/api/your_key/conditions/q/92135.xml");
            XmlElement root = doc1.DocumentElement;
            XmlNodeList nodes = root.SelectNodes("/response/current_observation");

            foreach (XmlNode node in nodes)
            {
                string tempf = node["temp_f"].InnerText;
                string tempc = node["temp_c"].InnerText;
                string feels = node["feelslike_f"].InnerText;

                label2.Text = tempf;
                label4.Text = tempc;
                label6.Text = feels;
            }



        }
    }
}

当您按下按钮时,您将获得分配标签中显示的信息。我还在尝试,你可以经常进行某种刷新,而不是每次都按下按钮来获得更新。

答案 1 :(得分:0)

首先,是的,你需要在你的问题中提供更多信息,但手头我可以看到你的URL中有“your_key”。您可能需要使用API​​密钥替换它才能使其正常工作。