मेरी Xml फ़ाइल LINQ का उपयोग: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>
मेरी प्रयास:
Object reference not set to an instance of an object.
1) x
नहीं है:
XElement toEdit =
(XElement)doc.Descendants("ArrayOfCustomer")
.Descendants("Customer")
.Where(x => Guid.Parse((x.Descendants("CustomerId") as XElement).Value) == customer.CustomerId)
.First<XElement>();
इस निम्न अपवाद फेंकता एक XElement
?
2) क्या यह एक उचित है जहां एक एक्सएमएल नोड का चयन करने के लिए लैम्ब्डा है?
3) और निश्चित रूप से CustomerId
के अनुसार आपको यह नोड कैसे मिलेगा?
मैं पहले अपवाद है: प्रकार 'WhereEnumerableIterator'1 की वस्तु कास्ट करने में असमर्थ [सिस्टम .Xml.Linq.XElement] 'टाइप करने के लिए' System.Xml.Linq.XElement '। ऐसा इसलिए था क्योंकि मैंने आईनुमरेबल से एक एकल XElement में डालने की कोशिश की, मैंने इसे पहले() एक्सटेंशन जोड़ा। अब यह x को XElement के रूप में नहीं बना सकता है। –