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