Jon*_*son 22 c# xml linq xml-serialization
有没有办法在不对XmlDocument/temp字符串进行往返的情况下对对象进行de /序列化?我正在寻找以下内容:
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; }
}
Run Code Online (Sandbox Code Playgroud)
我这样做时会出现错误(非空白字符无法添加到内容中.)如果我将该类包装在元素中,我看到写的内容是<element> ConsoleApplication17.MyClass </ element> - 所以错误说得通.
我这样做有扩展方法DE /自动序列化,但是这不是我所期待的(这是客户端,但我还是想更多的东西最佳).
有任何想法吗?
Amy*_*y B 34
像这样的东西?
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());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13194 次 |
| 最近记录: |