我正在使用 XMLTextWriter 动态创建 XML 文档(在 VB.Net 中)。我希望空标签看起来像这样 -<Tag></Tag>
而不是这样 -<Tag />
所以,我使用 WriteFullEndElement 来结束元素标签。但它把标签写成——
<Tag>
</Tag>
即标签之间有换行符。由于换行符,读取此 XML 的 Web 服务会拒绝它。
如何避免换行,并将开始和结束标签放在同一行?
我正在使用 XMLTextWriter 动态创建 XML 文档(在 VB.Net 中)。我希望空标签看起来像这样 -<Tag></Tag>
而不是这样 -<Tag />
所以,我使用 WriteFullEndElement 来结束元素标签。但它把标签写成——
<Tag>
</Tag>
即标签之间有换行符。由于换行符,读取此 XML 的 Web 服务会拒绝它。
如何避免换行,并将开始和结束标签放在同一行?
使用XmlWriterSettings
. 具体来说,使用NewLineHandling和NewLineChars。
下面是一个用 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();
}
干杯