Я подозреваю, что это не действительно удаление декларации о загрузке - это когда вы пишете документ, что вы его пропускаете.Вот пример приложения, которое работает для меня:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
XDocument doc = XDocument.Load("test.xml");
Console.WriteLine(doc.Declaration);
}
}
И test.xml:
<?xml version="1.0" encoding="us-ascii" ?>
<Foo>
<Bar />
</Foo>
Вывод:
<?xml version="1.0" encoding="us-ascii"?>
Объявление isn 't отображается как XDocument.ToString()
и может быть заменен при использовании XDocument.Save
, потому что вы можете использовать что-то вроде TextWriter
, который уже знает, какую кодировку он использует.Если вы сохраняете в поток или просто имя файла, это сохраняется в моем опыте.