У меня есть следующий код:Почему мой XDocument сохраняет декларацию, когда я этого не хочу?
class Program
{
static void Main(string[] args)
{
using (var stream = File.Create(@"C:\test.xml"))
{
var xml =
new XElement("root",
new XElement("subelement1", "1"),
new XElement("subelement2", "2"));
var doc = new XDocument(xml);
doc.Declaration = null;
doc.Save(stream);
}
}
}
Я пытаюсь получить XML, чтобы сохранить без объявления XML, но даже если я обнуление из декларации XDocument
, она по-прежнему сохраняется в окончательный XML ,
Этот код выводит:
<?xml version="1.0" encoding="utf-8"?>
<root>
<subelement1>1</subelement1>
<subelement2>2</subelement2>
</root>
Почему вы хотите сохранить XML-документ без декларации? Полезно включить объявление, которое указывает кодировку и версию XML-документа для пользователей XML-файла. –
Поскольку этот XML отправляется в другие системы внутри компании, которые, по-видимому, ломаются, если у вас есть объявление xml (и у меня нет контроля над этими системами, это еще один целый отдел) – KallDrexx
это достаточно справедливо :) Мне просто интересно, почему –