Я создал объект XDocument, содержащий некоторые данные об исключениях, я хочу сохранить их в XML-файле, чтобы их можно было просмотреть при обнаружении ошибок:
XDocument xmlDoc = XDocument.Parse(myCustomObject.SerializeToXml());
Я использую Save()
способ сохранить эти данные в файл:
xmlDoc.Save(@"C:\myFile.xml", SaveOptions.None);
Один из узлов - это выход, содержащий экранированные символы (<
и >
), например
<RootNode>
<Name>My Object</Name>
<DiagnosticInfo>
<DiagnosticInfo>
<Processors>
<String>
Something Something
<String>
</Processors>
</DiagnosticInfo>
</DiagnosticInfo>
</RootNode>
.попытался вызвать HttpUtility.DecodeHtml()
на элементе «DiagnosticInfo», но он всегда выводится как экранированный, в любом случае?Нужно ли что-то делать с элементом DiagnosticInfo, чтобы запретить ему рассматривать его как строку?
Элемент DiagnosticInfo был бы наиболее полезным, поэтому я бы хотел, чтобы он выглядел правильно, когдаXML-файл открыт.
Редактировать В ответ на комментарий Джона Скита:
public string SerializeToXml()
{
XmlSerializer s = new XmlSerializer(GetType());
using (StringWriter w = new StringWriter())
{
s.Serialize(w, this);
return w.ToString();
}
}