Эта вещь в начале вашего выходного XML-документа, скорее всего, является меткой порядка байтов или BOM , которая указывает, являются ли байты в вашемUnicode выводится в порядке с прямым или прямым порядком байтов.
Эта спецификация может быть полезна для потребителей вашего XML-документа;однако в некоторых случаях это может привести к проблемам, и тогда его лучше не создавать.
Вы можете указать, создается ли спецификация, используя Encoding
, указанную с помощью XmlWriterSettings
:
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Encoding = new UTF8Encoding(false);
Приведенный выше код создаст ваш документ с использованием кодировки UTF8.Это, скорее всего, то, что вы хотите получить, если ваша потребляющая система явно не запрашивает кодировку UTF16 / Unicode или вы имеете дело с азиатским символом.
Чтобы создать документ в кодировке UTF16 / Unicode, используйте UnicodeEncoding
со вторым параметром, установленным на false
:
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Encoding = new UnicodeEncoding(false, false);