C#对象为XmlElement

时间:2011-07-24 16:43:23

标签: c# xml xml-serialization

将C#对象转换为XmlEmenet的最佳方法是什么? 我只是使用XmlSerializer并导入XmlNode还是有更好的方式?

这就是我发现有什么其他更好的方法。

public XmlElement Serialize(XmlDocument document)
{
    XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
    ns.Add("", "");
    XmlElement returnVal;
    XmlSerializer serializer = new XmlSerializer(this.GetType());
    MemoryStream ms = new MemoryStream();
    XmlTextWriter tw = new XmlTextWriter(ms, UTF8Encoding.UTF8);
    XmlDocument doc = new XmlDocument();
    tw.Formatting = Formatting.Indented;
    tw.IndentChar = ' ';
    serializer.Serialize(tw, this, ns);
    ms.Seek(0, SeekOrigin.Begin);
    doc.Load(ms);
    returnVal = document.ImportNode(doc.DocumentElement, true) as XmlElement;
    return returnVal;
}

1 个答案:

答案 0 :(得分:0)

您可以将其转换为对象类型的扩展方法,这样您就不必将该方法放在一堆不同的类中。