2009-08-24 59 views
0

我希望從基於用戶輸入日期的xml文件中檢索數據。我想比較用戶輸入日期和xml文件中的日期,如果它大於xml文件日期,它應該檢索它。我的linq查詢看起來像這樣預先感謝。使用linq中的日期到xml

XDocument xmlDoc = XDocument.Load(Server.MapPath("xml/data1.xml")); 

var hotels = from hotel in xmlDoc.Descendants("Table") 
      where Double.Parse(pplTextBox.Text) <= Double.Parse(hotel.Element("NO_OF_PEOPLE").Value) && 
      DateTime.Parse(DateTextFrom.Text) > DateTime.Parse(hotel.Element("DATE_TO").Value) 
      select new 
      { 
       RoomCost = hotel.Element("ROOM_COST").Value, 
       RoomType = hotel.Element("ROOM_TYPE").Value, 
       HotelName = hotel.Element("HOTEL_NAME").Value, 
       NoOfPeople = hotel.Element("NO_OF_PEOPLE").Value, 
       Smoking = hotel.Element("SMOKING").Value, 
       Restaurant = hotel.Element("RESTAURANT").Value, 
       //Location = hotel.Element("HOTEL_AREA").Value, 
       //AvailableDate = hotel.Element("DATE_TO").Value 
      }; 

    GridView1.DataSource = hotels.ToList(); 
    GridView1.DataBind(); 
+0

是的 - 有什麼問題嗎?您似乎已經在XLINQ查詢中檢查日期。那麼你的問題是什麼? – 2009-08-24 11:17:56

+0

從用戶端選擇日期並按下檢查可用性以檢索時出現錯誤;它給出了日期時間解析錯誤。字符串未被識別爲有效的日期時間。 – user161314 2009-08-24 13:19:31

+0

用戶輸入了什麼?什麼字符串?這可能只是一個字符串到日期時間轉換問題,與Linq-To-XML完全無關....... – 2009-08-24 13:32:47

回答

0

你能用嗎?

AvailableDate = (hotel.Element("DATE_TO").Value > inputDate) ? 
        hotel.Element("DATE_TO").Value : inputDate 
+0

它不能與AvailableDate一起使用,是否有我需要添加的任何引用?提前致謝。 – user161314 2009-08-24 13:30:56