XmlTextWriter.WriteFullEndElement теги в той же строке
Я использую XMLTextWriter для динамического создания документа XML (в VB.Net). Я хочу, чтобы пустые теги выглядели так: <Tag></Tag>
а не это - <Tag />
Итак, я использую WriteFullEndElement для завершения тега элемента. Но он записывает тег как -
<Tag>
</Tag>
то есть с символом новой строки между тегами. Веб-сервис, читающий этот XML, отклоняет его из-за символа новой строки.
Как мне избежать перехода на новую строку и иметь начальный и конечный теги на одной строке?
1 ответ
Использование XmlWriterSettings
, В частности, используйте NewLineHandling и NewLineChars.
Ниже приведен простой пример написания XML-документа на языке C#:
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.Indent = true;
writerSettings.NewLineHandling = NewLineHandling.None;
using (XmlWriter textWriter = XmlTextWriter.Create(this.fileName, writerSettings))
{
textWriter.WriteStartDocument();
textWriter.WriteComment("generated file");
textWriter.WriteStartElement("Root");
// Populate data
foreach (object o in someList)
{
textWriter.WriteStartElement(o);
textWriter.WriteString(o);
textWriter.WriteFullEndElement ();
}
textWriter.WriteFullEndElement ();
textWriter.WriteEndDocument();
textWriter.Close();
}
ура