我希望能够创建一个XML文档,以便从Exception对象保存到SQL数据库。有没有办法轻松将异常对象转换为XML文档?我希望能够做到这样的事情:
<source>
答案 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());
}
}