Is there any way to de/serialize an object without round-tripping a XmlDocument/temp string? I am looking for something like the following:
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; }
}
I get an error when I do that though (Non white space characters cannot be added to content.) If I wrap the class in the element I see that the content written is <element>ConsoleApplication17.MyClass</element> - so the error makes sense.
I do have extension methods to de/serialize automatically, but that's not what I am looking for (this is client-side, but I would still like something more optimal).
Any ideas?