Ich möchte bitte Daten aus einer XML-Datei basierend auf Benutzereingaben mit Datum abrufen. Ich möchte das Benutzereingabedatum mit dem Datum in der xml-Datei vergleichen und wenn es größer ist als das XML-Datum, sollte es es abrufen. Meine Linq Abfrage sieht so aus Dank im Voraus.Arbeiten mit Daten in linq zu 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();
Ja - und was ist das Problem? Sie scheinen bereits in Ihrer XLINQ-Abfrage nach dem Datum zu suchen. Was ist deine Frage? –
Es liegt ein Fehler vor, wenn das Datum vom Benutzerende ausgewählt wird und wenn die Verfügbarkeitsprüfung zum Abrufen gedrückt wird. Es gibt einen Datetime-Parse-Fehler. String wurde nicht als gültige DateTime erkannt. – user161314
WAS gibt der Benutzer ein? Welche Schnur? Es ist wahrscheinlich wirklich nur ein String-to-DateTime-Konvertierungsproblem, das überhaupt nichts mit Linq-To-XML zu tun hat ....... –