Как насчет того, чтобы просто сохранить xml в файл и использовать xsd ?
xsd foo.xml
xsd foo.xsd /classes
Et voila - и файл кода C #, который должен быть способен читать данные через XmlSerializer
:
XmlSerializer ser = new XmlSerializer(typeof(Cars));
Cars cars;
using (XmlReader reader = XmlReader.Create(path))
{
cars = (Cars) ser.Deserialize(reader);
}
(включая сгенерированный foo.cs в проекте)