我正在学习使用LINQ。我在网上看到了一些让我印象深刻的视频。为了努力学习LINQ,我决定尝试向NOAA Web服务写一个查询。如果您在浏览器的地址栏中输入“http://www.weather.gov/forecasts/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?zipCodeList=20001&format=24+hourly&startDate=2010-06-10&numDays=5”,则会看到一些XML。我已经成功地在C#程序中检索到该XML。我在加载XML到LINQable实体通过执行以下操作:C#+使用LINQ查询XML
string xml = QueryWeatherService();
XDocument weather = XDocument.Parse(xml);
我已经定义了一个名为DailyForecast类,如下所示:
public class DailyForecast
{
public float HighTemperature { get; set; }
public float LowTemperature { get; set; }
public float PrecipitationPossibility { get; set; }
public string WeatherSummary { get; set; }
}
我试图写一个LINQ查询附着在我的DailyForecast类的结构。在这个时候,我只得到了这么多:
var results = from day in response.Descendants("parameters")
select day;
我不知道。由于返回的XML结构,我不确定是否可以单独使用LINQ查询。我认为唯一的方法是通过一个循环并遍历XML。如果我错了,我正在寻找人来纠正我。有人可以告诉我,如果我可以使用纯粹的LINQ来坚持DailyForecast类的结构吗?如果是这样,怎么样?
谢谢!
LINQ将正常工作,但如果你已经有一些类的目标相匹配的输入XML的形状,你可以考虑使用XmlSerializer的那些类型只是反序列化输入 – 2010-06-11 06:12:42