我正在學習使用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