Это решение, но оно не красиво ...
Измените XText на XComment и сделайте что-то вроде этого ...
var root =
new XElement("root",
new XComment(""),
new XElement("group",
new XElement("leaf")),
new XComment(""),
new XElement("group",
new XElement("leaf")),
new XComment(""));
Console.WriteLine(XElementToText(root));
private string XElementToText(XElement element)
{
var sb = new StringBuilder();
using (var writer = XmlWriter.Create(sb,
new XmlWriterSettings {Indent = true}))
{
element.WriteTo(writer);
}
return sb.ToString().Replace("<!---->", string.Empty);
}
Редактировать: Фоготт, чтобы избежать меньше, чем ...