我需要在我的XML文档的顶部使用XML编码和版本,我正在使用XDocument
。
我有这个,但它是小写的,它需要是大写的。
我需要做什么?
我使用名为'doc'的XDocument
类声明了一个新的XML文档。
我使用doc.Save();
将其保存到文件中。
我试过了:
doc.Declaration.Encoding.ToUpper();
XDeclaration
doc.Declaration
设置为我的XDeclaration
。它仍以小写形式出现。
你可以创建自定义XmlTextWriter
,例如:
public class CustomXmlTextWriter : XmlTextWriter
{
public CustomXmlTextWriter(string filename)
: base(filename, Encoding.UTF8)
{
}
public override void WriteStartDocument()
{
WriteRaw("<?xml VERSION=\"1.0\" ENCODING=\"UTF-8\"?>");
}
public override void WriteEndDocument()
{
}
}
然后使用它:
using (var writer = new CustomXmlTextWriter("file.xml"))
{
doc.Save(writer);
}
工作解决方案,使用XmlDocument:
myXmldoc.FirstChild.Value = "version=\"1.0\" encoding=\"UTF-8\"";
正如用户726720指出的那样,Kirill Polishchuk给出的答案会丢失格式并需要模式代码。