C# – How to parse XML with XElement (Linq)

Use the XElement class (from the Linq-to-Xml API) to parse XML and work with it in memory. You can use this to search for XML elements, attributes, and modify values. This is an alternative to deserializing to an object (which requires you to define a class that matches the XML structure). I’ll show examples of … Read more

C# – Read XML element attributes with XElement (Linq)

XML elements can have attributes, which are key-value pairs. To read the attributes, use the XElement class (from the Linq-to-Xml API). There are two main methods for getting attributes: Once you have the attributes, use the XAttribute.Value property to read the attribute’s string value. Here’s an example of getting all elements named Movie and then … Read more

ASP.NET Core – How to receive requests with XML content

Receiving requests with XML content is straightforward. You have to register the built-in XML InputFormatter (otherwise you get 415 – Unsupported Media Type errors). When a request comes in with an XML Content-Type (such as application/xml), it uses this InputFormatter to deserialize the request body XML. In this article, I’ll show step-by-step how to receive … Read more

XML doc warnings: CS1573 and CS1572

I’ll show examples of the XML documentation warnings and how to fix them. CS1573 Parameter ‘X’ has no matching param tag in the XML comment (but other parameters do) Warning CS1573 means there’s a missing <param> tag for one of the method parameters. This usually happens when you add a new parameter (or rename one … Read more

C# – Find XML element by name with XElement (Linq)

Use the XElement class (from the Linq-to-Xml API) to search for XML elements by name. There are two main methods you can use to do this: These return the matching elements as an IEnumerable<XElement>. You can then use Linq methods (or a foreach loop) to do whatever you want with these elements (such as outputting … Read more

C# – Using XmlSerializer to serialize

Here’s how to serialize an object into XML using XmlSerializer: You must add the [Serializable] attribute to the class you want to serialize: Here’s an example of creating an Author object and feeding it to the serializer: This outputs the following XML: This example showed how to use XmlSerializer with all the default settings. In … Read more