Выберите узел Xml, используя Linq to XML

мой файл Xml:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfCustomer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Customer>
        <CustomerId>1f323c97-2015-4a3d-9956-a93115c272ea</CustomerId>
        <FirstName>Aria</FirstName>
        <LastName>Stark</LastName>
        <DOB>1999-01-01T00:00:00</DOB>
    </Customer>
    <Customer>
        <CustomerId>c9c326c2-1e27-440b-9b25-c79b1d9c80ed</CustomerId>
        <FirstName>John</FirstName>
        <LastName>Snow</LastName>
        <DOB>1983-01-01T00:00:00</DOB>
    </Customer>
</ArrayOfCustomer>  

моя попытка:

XElement toEdit = 
    (XElement)doc.Descendants("ArrayOfCustomer")
                .Descendants("Customer")
                .Where(x => Guid.Parse((x.Descendants("CustomerId") as XElement).Value) == customer.CustomerId)
                .First<XElement>();

это вызывает следующее исключение:

 Object reference not set to an instance of an object.

1)не является ли xXElement?

2)Является ли это правильной лямбдой where для выбора узла Xml?

3)и, конечно же, как бы вы нашли этот узел согласно CustomerId?

6
задан Darko Z 10 April 2012 в 04:05
поделиться