Я хотел бы найти лучший способ сделать это:
XmlNode nodeXML = xmlDoc.AppendChild(
xmlDoc.CreateXmlDeclaration( "1.0", "utf-8", String.Empty) );
Я не хочу думать о "utf-8" по сравнению с "UTF-8" по сравнению с "UTF8" по сравнению с "utf8", поскольку я ввожу код. Я хотел бы сделать свой код менее подверженным опечаткам. Я уверен, что некоторая стандартная библиотека имеет declatred "utf-8"
как константа / строка только для чтения. Как я могу найти его? Кроме того, что относительно "1,0"? Я предполагаю, что главные версии XML были перечислены где-нибудь также.
Спасибо!
Этого легко избежать, используя XmlWriter для написания документа. Модуль записи по умолчанию автоматически кодирует в utf8 и генерирует инструкцию обработки:
var doc = new XmlDocument();
doc.InnerXml = "<root></root>";
using (var wrt = XmlWriter.Create(@"c:\temp\test.xml")) {
doc.WriteTo(wrt);
}
Вывод:
<?xml version="1.0" encoding="utf-8"?><root></root>