XmlTextWriter.WriteFullEndElement标记在同一行上

时间:2010-03-19 18:56:17

标签: xml vb.net tags newline xmltextwriter

我正在使用XMLTextWriter动态创建XML文档(在VB.Net中)。 我希望空标记看起来像这样 - <Tag></Tag> 而不是这个 - <Tag />

所以,我使用WriteFullEndElement来结束元素标记。但它正在将标签写为 -

<Tag>

</Tag>

即。标签之间有换行符。由于换行符,读取此XML的Web服务拒绝它。

如何避免换行,并将开始和结束标记放在同一行?

1 个答案:

答案 0 :(得分:3)

使用XmlWriterSettings。 具体而言,请使用NewLineHandlingNewLineChars

以下是在c#中编写XML文档的简单示例:

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

干杯