C#将异常对象转换为XML文档

时间:2017-01-12 17:14:59

标签: c# xml

我希望能够创建一个XML文档,以便从Exception对象保存到SQL数据库。有没有办法轻松将异常对象转换为XML文档?我希望能够做到这样的事情:

<source>

3 个答案:

答案 0 :(得分:1)

您正在寻找的是XmlSerializer。序列化正在变为字符串,XmlSerializer更进了一步。我使用一种扩展方法将生成的XML写入文件,但您可以根据自己的需要进行调整:

FIND_IN_SET

答案 1 :(得分:1)

使用xml linq:

       public static void WriteError(Exception ex)
        {
            XDocument doc = new XDocument("Error", new object[] {
                new XElement("message", ex.Message),
                new XElement("stacktrace", ex.StackTrace),
                new XElement("helplink", ex.HelpLink)
            });

            sql.Insert(doc);
        }

答案 2 :(得分:0)

以下是@Forklift建议使用XmlSerializer的方法:

public void WriteError(Exception ex)
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(Exception));
    using (var memoryStream = new MemoryStream()) {
        xmlSerializer.Serialize(memoryStream, ex);
        var streamReader = new StreamReader(memoryStream);
        sql.Insert(streamReader.ReadToEnd());
    }
}