我是很新,使用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