Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net XML Linq查询不工作_Asp.net_Xml_Linq - Fatal编程技术网

Asp.net XML Linq查询不工作

Asp.net XML Linq查询不工作,asp.net,xml,linq,Asp.net,Xml,Linq,我对使用LINQ非常陌生,所以我不能完全确定所有正确的语法等等 这是我到目前为止得到的 我的XML <?xml version="1.0"?> <Bookings> <Booking BookingNumber="300067649"> <FLIGHTS> <FlightGroups> <FlightGroup ID="1 ">

我对使用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>
基本上,我正在尝试选择今天之前的所有航班,但似乎无法实现这一点


根据您当前的文化背景,
18/02/2006
可能无法转换为
DateTime
(日期在月份之前。如果您在美国,则月份应在日期之前)

这会抛出一个错误(我在美国)

这项工作:

var d2 = DateTime.Parse("02/18/2006");
我只是尝试了下面的测试,一切都如期进行(我更改了日期的格式)。您可能需要提供格式提供程序来转换日期

var str = @"<?xml version=""1.0""?>
<Bookings>
    <Booking BookingNumber=""300067649"">
        <FLIGHTS>
            <FlightGroups>
                <FlightGroup ID=""1"">
                    <Flights>
                        <Flight ID=""1"">
                            <ADULTS>1</ADULTS>
                            <DEPARTURE_DATE>02/18/2006</DEPARTURE_DATE>
                        </Flight>
                    </Flights>
                </FlightGroup>
            </FlightGroups>
        </FLIGHTS>
    </Booking>
</Bookings>
";
var xel = System.Xml.Linq.XElement.Parse(str);

var flights = xel.Descendants("Flight");
var tests = flights.Where(f => DateTime.Parse(f.Element("DEPARTURE_DATE").Value).Date < DateTime.Now.Date);
foreach (var test in tests)
{
    System.Console.WriteLine(test.Element("DEPARTURE_DATE").Value);
}
var str=@”
1.
02/18/2006
";
var xel=System.Xml.Linq.XElement.Parse(str);
var flights=像素后代(“flights”);
var tests=flights.Where(f=>DateTime.Parse(f.Element(“出发日期”).Value).DATE
根据您当前的文化背景,
18/02/2006
可能无法转换为
日期时间(日期在月份之前。如果您在美国,则月份应在日期之前)

这会抛出一个错误(我在美国)

这项工作:

var d2 = DateTime.Parse("02/18/2006");
我只是尝试了下面的测试,一切都如期进行(我更改了日期的格式)。您可能需要提供格式提供程序来转换日期

var str = @"<?xml version=""1.0""?>
<Bookings>
    <Booking BookingNumber=""300067649"">
        <FLIGHTS>
            <FlightGroups>
                <FlightGroup ID=""1"">
                    <Flights>
                        <Flight ID=""1"">
                            <ADULTS>1</ADULTS>
                            <DEPARTURE_DATE>02/18/2006</DEPARTURE_DATE>
                        </Flight>
                    </Flights>
                </FlightGroup>
            </FlightGroups>
        </FLIGHTS>
    </Booking>
</Bookings>
";
var xel = System.Xml.Linq.XElement.Parse(str);

var flights = xel.Descendants("Flight");
var tests = flights.Where(f => DateTime.Parse(f.Element("DEPARTURE_DATE").Value).Date < DateTime.Now.Date);
foreach (var test in tests)
{
    System.Console.WriteLine(test.Element("DEPARTURE_DATE").Value);
}
var str=@”
1.
02/18/2006
";
var xel=System.Xml.Linq.XElement.Parse(str);
var flights=像素后代(“flights”);
var tests=flights.Where(f=>DateTime.Parse(f.Element(“出发日期”).Value).DATE
FYI,加载字符串时可以使用XElement.Parse()而不是Load。FYI,可以使用XElement.Parse()加载字符串时不加载。谢谢-我已将此项工作完成-我已将您的工作代码转换为VB,并且语句WHERE部分的语法不同谢谢-我已将此项工作完成-我已将您的工作代码转换为VB,并且语句WHERE部分的语法不同
var str = @"<?xml version=""1.0""?>
<Bookings>
    <Booking BookingNumber=""300067649"">
        <FLIGHTS>
            <FlightGroups>
                <FlightGroup ID=""1"">
                    <Flights>
                        <Flight ID=""1"">
                            <ADULTS>1</ADULTS>
                            <DEPARTURE_DATE>02/18/2006</DEPARTURE_DATE>
                        </Flight>
                    </Flights>
                </FlightGroup>
            </FlightGroups>
        </FLIGHTS>
    </Booking>
</Bookings>
";
var xel = System.Xml.Linq.XElement.Parse(str);

var flights = xel.Descendants("Flight");
var tests = flights.Where(f => DateTime.Parse(f.Element("DEPARTURE_DATE").Value).Date < DateTime.Now.Date);
foreach (var test in tests)
{
    System.Console.WriteLine(test.Element("DEPARTURE_DATE").Value);
}