CSharp · Console
using System;
using System.IO;
using System.Collections.Generic;
using System.Xml.Serialization;
public class Program
{
public static void Main()
{
const string xml = @"<Invoices>
<Invoice>
<InvoiceId>12345</InvoiceId>
<LineItems>
<LineItem>
<LineItemId>123</LineItemId>
</LineItem>
<LineItem>
<LineItemId>456</LineItemId>
</LineItem>
</LineItems>
</Invoice>
</Invoices>";
var serializer = new XmlSerializer(typeof (InvoiceList));
using (var reader = new StringReader(xml))
{
var list = (InvoiceList) serializer.Deserialize(reader);
Console.WriteLine(list.Invoices.Count);
}
}
[XmlRoot("Invoices")]
public class InvoiceList
{
[XmlElement("Invoice")]
public List<Invoice> Invoices { get; set; }
}
public class Invoice
{
public int InvoiceId { get; set; }
public List<LineItem> LineItems { get; set; }
}
public class LineItem
{
public int LineItemId { get; set; }
}
}