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);
이 너무 나에게 런타임 오류에서 유래를 제공합니다.
도움을 주시면 감사하겠습니다.
미리 감사드립니다.
나는 혼란 스럽다. 왜 제대로 닫히지 않았다고 말하는가? 그것은 나에게 보이지 않는다 ... –
그것은 당신이 의미하는 것이 정말로 분명하지 않다. 스택 오버플로가 어디에서 발생합니까? 왜 루트 엘리먼트가 닫히지 않게 하시겠습니까? 왜 XmlWriter가 잘못된 결과를 내기를 기대합니까? –
ExceptionList의 시작과 끝 요소 호출 사이에 두 번째 코드 조각 (또는 적절한 호출)을 넣는 것을 중단하는 것은 무엇입니까? – cristobalito