XDocument.Save() без заголовка

Я редактирую файлы csproj с Linq-to-XML и вам нужно сохранить XML без заголовка <?XML?>.

Поскольку XDocument.Save() отсутствует необходимый параметр, какой лучший способ сделать это?

Ответы

Ответ 1

Вы можете сделать это с помощью XmlWriterSettings и сохранить документ в XmlWriter:

XDocument doc = new XDocument(new XElement("foo",
    new XAttribute("hello","world")));

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
StringWriter sw = new StringWriter();
using (XmlWriter xw = XmlWriter.Create(sw, settings))
// or to write to a file...
//using (XmlWriter xw = XmlWriter.Create(filePath, settings))
{
    doc.Save(xw);
}
string s = sw.ToString();