C# 如何从xml Url获取特定节点并在winforms中列出它们
我对编程非常陌生,我有一项任务要用winforms完成,而且我以前从未接触过XML 我必须从一个名为url.XML的XML文件中获取天气数据,该文件中有三个链接(例如:) 到目前为止,我已经成功地从XML文件中要显示的第一个链接获取了温度,但是我很难获取所有的温度 我的问题是:如何从url.xml中的所有三个城市获取温度值,并将其显示在我的winforms应用程序上?C# 如何从xml Url获取特定节点并在winforms中列出它们,c#,xml,winforms,C#,Xml,Winforms,我对编程非常陌生,我有一项任务要用winforms完成,而且我以前从未接触过XML 我必须从一个名为url.XML的XML文件中获取天气数据,该文件中有三个链接(例如:) 到目前为止,我已经成功地从XML文件中要显示的第一个链接获取了温度,但是我很难获取所有的温度 我的问题是:如何从url.xml中的所有三个城市获取温度值,并将其显示在我的winforms应用程序上? 如果您需要更多信息,请告诉我,正如我说过的,我对编程非常陌生,我非常感谢您提供的所有帮助。在这种情况下,最好的方法是使用Linq
如果您需要更多信息,请告诉我,正如我说过的,我对编程非常陌生,我非常感谢您提供的所有帮助。在这种情况下,最好的方法是使用Linq获得您想要的值 将URL加载到字符串中,然后使用XmlDocument将字符串作为XML读取
public string xmlURL = "http://www.yr.no/place/sweden/stockholm/stockholm/forecast.xml";
private void Form1_Load(object sender, EventArgs e) {
string xmlStr;
using (var wc = new WebClient()) {
xmlStr = wc.DownloadString(xmlURL);
}
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
XmlElement root = xmlDoc.DocumentElement;
XmlNode node = root.SelectSingleNode("XPathInfo");
}
阅读更多关于:
一些XPath示例
我会发布更多信息,但如果您需要帮助,请在MSDN中查找SelectNodes和SelectSingleNode,例如,所有位置值都使用SelectNodes,或者如果您需要非常具体的内容,请使用SelectSingleNode。Q1,如何获取温度值。 下面代码中的变量
r
是您想要的
Q2,如何在我的winforms应用程序上显示它们。
恐怕我帮不了你,你需要自己编码
string url = "http://www.yr.no/place/sweden/stockholm/stockholm/forecast.xml";
var xml = XDocument.Load(url);
var search = xml.XPathSelectElements("/weatherdata/forecast/tabular//time");
var r = search.Select(p => new {
from = p.Attribute("from").Value,
to = p.Attribute("to").Value,
period = p.Attribute("period").Value,
temperature_unit = p.Element("temperature").Attribute("unit").Value,
temperature_value = p.Element("temperature").Attribute("value").Value,
}).ToList();
上面的代码包括xdocument
,“Linq”和“XPath”,您需要知道。如果您不知道,请参见以下内容:
- XDocument:
- Linq表达式:
- XPath: