2009-08-24 5 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. Тогда каков ваш вопрос? –

+0

есть ошибка, когда дата выбрана с конца пользователя и когда нажата кнопка для проверки; он дает ошибку анализа времени datetime. Строка не была признана действительной DateTime. – user161314

+0

ЧТО вводит пользователь? Какая строка? Вероятно, это действительно только проблема преобразования строк в DateTime, которая вообще не имеет никакого отношения к Linq-To-XML ....... –

ответ

0

Вы можете использовать?

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

не работает с AvailableDate, есть ли какие-либо ссылки, которые мне нужно добавить? Заранее спасибо. – user161314

Смежные вопросы