using System.Collections.Generic;
public struct TestObject {
public string Name {get; set;}
public string Value {get; set;}
public static void Main()
List<TestObject> testObjects = new List<TestObject> {
new TestObject{ Name = "Object1", Value = "Value 1" },
new TestObject{ Name = "Object2", Value = "Value 2" }
string xml = GenerateXml(testObjects);
System.Console.Write(xml);
public static string GenerateXml(List<TestObject> objects)
var xmlDocument = new XDocument(
new XDeclaration("1.0", "UTF-16", "yes"),
new XElement("objects", objects.Select(GenerateMyXmlObject))
var builder = new StringBuilder();
using (var writer = new StringWriter(builder))
xmlDocument.Save(writer);
return builder.ToString();
public static XElement GenerateMyXmlObject(TestObject obj)
return new XElement("object", new XAttribute(obj.Name, obj.Value));