我是很新,使用LINQ所以我不能完全確定所有正確的語法等XML Linq查詢不工作
的下面是我到目前爲止
我的XML
了<?xml version="1.0"?>
<Bookings>
<Booking BookingNumber="300067649">
<FLIGHTS>
<FlightGroups>
<FlightGroup ID="1 ">
<Flights>
<Flight ID="1">
<ADULTS>1</ADULTS>
<DEPARTURE_DATE>18/02/2006</DEPARTURE_DATE>
</Flight>
</Flights>
</FlightGroup>
</FlightGroups>
</FLIGHTS>
</Booking>
</Bookings>
我得到這個由一家外部公司控制的網絡服務,所以我無法改變語法
這裏的LINQ我用了我的.Net代碼
Dim root As XElement = XElement.Load(New StringReader(xmlstring))
Dim tests As IEnumerable(Of XElement) = From el In
root.Elements("Booking").Elements("FLIGHTS").Descendants()
Where CType(el.Element("DEPARTURE_DATE"), DateTime).Date <= DateTime.Now.Date
For Each el As XElement In tests
Response.Write(el)
Next
字符串xmlstring
是上面的XML。
的問題是,這是給我的錯誤是:
Value cannot be null.
Parameter name: element
基本上我想選擇是今天的日期之前的所有航班,只是似乎無法得到這個工作。
任何幫助,將不勝感激
僅供參考,您可以在加載String時使用XElement.Parse()而不是Load。 – DaveShaw 2012-02-28 14:11:56