Я использую xmlwriter для создания XML-документа. Документ XML выглядит следующим образом:Xml корневой узел не закрыт
<?xml version="1.0" encoding="utf-8" ?>
<ExceptionsList />
Как я могу предотвратить /> и соответственно конец корневого узла?
Из-за этого я не могу ничего добавить к корневому узлу.
Мой код для создания файла XML выглядит следующим образом:
string formatDate = DateTime.Now.ToString("d-MMM-yyyy");
XmlTextWriter xmlWriter = new XmlTextWriter(xmlfileName, Encoding.UTF8);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.Indentation = 3;
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("ExceptionsList"); // ExceptionsList (Root) Element
xmlWriter.WriteEndElement(); // End of ExceptionsList (Root) Element
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
xmlWriter.Close();
И я прилагаю к корневому узлу, как это:
XDocument xml = XDocument.Load(xmlFileName);
XElement root = xml.Root;
root.Add(new XElement("Exception",
new XElement("Exception Type", exceptionType),
new XElement("Exception Message", exceptionMessage),
new XElement("InnerException", innerException),
new XElement("Comment", comment)));
xml.Save(xmlFileName);
Это дает мне StackOverflow при ошибке во время выполнения тоже.
Любая помощь будет оценена по достоинству.
Заранее благодарен!
Я в замешательстве ... почему вы говорите, что он не закрыт надлежащим образом? Он выглядит закрытым для меня ... –
Это действительно непонятно, что вы имеете в виду. Где происходит переполнение стека? Почему вы не хотите, чтобы ваш корневой элемент закрывался? Почему вы ожидаете, что XmlWriter создаст недопустимый вывод? –
Что заставляет вас поместить второй фрагмент кода (или подходящий вызов) между вызовами запуска и завершения элемента ExceptionList? – cristobalito