xdocument tutorial query net manejo leer example ejemplos c# xml linq xml-serialization

tutorial - xdocument c# example



De/Serialize directamente a/desde XML Linq (1)

Algo como esto ?

public XDocument Serialize<T>(T source) { XDocument target = new XDocument(); XmlSerializer s = new XmlSerializer(typeof(T)); System.Xml.XmlWriter writer = target.CreateWriter(); s.Serialize(writer, source); writer.Close(); return target; } public void Test1() { MyClass c = new MyClass() { SomeValue = "bar" }; XDocument doc = Serialize<MyClass>(c); Console.WriteLine(doc.ToString()); }

¿Hay alguna forma de de / serializar un objeto sin un disparo circular de XmlDocument / temp string? Estoy buscando algo como lo siguiente:

class Program { static void Main(string[] args) { XDocument doc = new XDocument(); MyClass c = new MyClass(); c.SomeValue = "bar"; doc.Add(c); Console.Write(doc.ToString()); Console.ReadLine(); } } [XmlRoot(ElementName="test")] public class MyClass { [XmlElement(ElementName = "someValue")] public string SomeValue { get; set; } }

Me sale un error cuando hago eso (no se pueden agregar caracteres de espacios en blanco al contenido). Si envuelvo la clase en el elemento, veo que el contenido escrito es <element> ConsoleApplication17.MyClass </ element> - entonces el error tiene sentido.

Tengo métodos de extensión para de / serializar automáticamente, pero eso no es lo que estoy buscando (esto es del lado del cliente, pero aún me gustaría algo más óptimo).

¿Algunas ideas?