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

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

15 голосов
/ 20 апреля 2009

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

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

1 Ответ

24 голосов
/ 20 апреля 2009

Вы можете сделать это с помощью 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();
...