从XmlWriter中删除编码
本文关键字:编码 删除 XmlWriter | 更新日期: 2023-09-27 18:10:04
我使用XmlWriter和XmlWriterSettings将XML文件写入磁盘。但是,正在解析XML文件的系统会报错编码。
<?xml version="1.0" encoding="utf-8"?>
它想要的是:
<?xml version="1.0" ?>
如果我尝试OmitXmlDeclaration = true,那么我根本得不到xml行。
string destinationName = "C:''temp''file.xml";
string strClassification = "None";
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
using (XmlWriter writer = XmlWriter.Create(destinationName, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("ChunkData");
writer.WriteElementString("Classification", strClassification);
writer.WriteEndElement();
}
刚好碰到这个——
- 完全删除
XmlWriterSettings()
并使用XmlTextWriter()'s Formatting
字段进行缩进。 - 为
XmlTextWriter's ctor
的Encoding
参数传递null
下面的代码将创建您正在寻找的输出:<?xml version="1.0" ?>
var w = new XmlTextWriter(filename, null);
w.Formatting = Formatting.Indented;
w.WriteStartDocument();
w.WriteStartElement("ChunkData");
w.WriteEndDocument();
w.Close();
.Close()
有效地创建文件- using
和Create()
方法也可以工作。