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(); 
        }

ура

Другие вопросы по тегам