I have an XElement
which has content like this.
<Response xmlns="someurl" xmlnsLi="thew3url">
<ErrorCode></ErrorCode>
<Status>Success</Status>
<Result>
<Manufacturer>
<ManufacturerID>46</ManufacturerID>
<ManufacturerName>APPLE</ManufacturerName>
</Manufacturer>
//More Manufacturer Elements like above here
</Result>
</Response>
How will i read the Value inside Status
element ?
I tried XElement stats = myXel.Descendants("Status").SingleOrDefault();
But that is returning null.
The most important advantage of LINQ to XML is its integration with Language-Integrated Query (LINQ). This integration enables you to write queries on the in-memory XML document to retrieve collections of elements and attributes.
The XElement class is one of the fundamental classes in LINQ to XML. It represents an XML element. The following list shows what you can use this class for: Create elements. Change the content of the element.
If myXel
already is the Response XElement
then it would be:
var status = myXel.Elements().Where(e => e.Name.LocalName == "Status").Single().Value;
You need to use the LocalName to ignore namespaces.
XElement response = XElement.Load("file.xml"); // XElement.Parse(stringWithXmlGoesHere)
XNamespace df = response.Name.Namespace;
XElement status = response.Element(df + "Status");
should suffice to access the Status
child element.
If you want the value of that element as a string then do e.g.
string status = (string)response.Element(df + "Status");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With