In-Depth

Serialize Arrays and ArrayLists to XML

The XmlSerializer class provides a great way to convert objects to XML and back. However, it can be difficult to serialize collections such as Arrays and ArrayLists properly unless you know a few tricks.

Technology Toolbox: XML

The XmlSerializer class provides a great way to convert (serialize) objects to XML and back (deserialize). However, it can be difficult to serialize collections such as Arrays and ArrayLists properly unless you know a few tricks.

This sample application demonstrates how you can add multiple Car class instances into an Array as well as an ArrayList, then serialize them into an XML structure. You can accomplish this serialization process by using special XML serialization attributes such as XmlArray and XmlArrayItem, found in the System.Xml.Serialization namespace. For example, this code demonstrates how you can identify the type within an ArrayList using the XmlArrayItem attribute along with the C# typeof keyword:

[XmlArray("carsArrayList")]
[XmlArrayItem("car",typeof(Car))]
public ArrayList CarsCollection {
   get {
      return _CarsList;
   }
   set {
      _CarsList = value;
   }
}

Here's the output generated by serializing the ArrayList:

<?xml version="1.0" encoding="utf-16"?>
<carsCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <carsArrayList>
      <car>
         <license>1234</license>
         <color>Black</color>
      </car>
      <car>
         <license>4321</license>
         <color>Blue</color>
      </car>
   </carsArrayList>
</carsCollection>

Download the sample here. To view a live example, visit the XML for ASP.NET Developers Web site.

Featured

  • Microsoft Expands Azure AD Password Lengths, Adds Conditional Access Controls

    Microsoft announced a couple of Azure Active Directory enhancements this week regarding password lengths and new conditional access controls for IT pros.

  • Attack Surface Analyzer 2.0 Available for Checking Software Installs

    Microsoft this week described Attack Surface Analyzer 2.0, an updated tool for checking software installations that's now built using open source code.

  • What Causes Hyper-V Replication Failures?

    Hyper-V replication failures happen rarely, but their impact can be catastrophic when they do. Know the scenarios that are likely to trigger a replication failure.

  • Microsoft Touts Using HyperClear To Address Intel Processor Woes

    Microsoft is again promoting its HyperClear Hyper-V hypervisor technology as a potential balm for organizations trying to come to grips with Intel's latest speculative execution side-channel attack disclosures.

comments powered by Disqus

Office 365 Watch

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.