.NET XML Pretty Printer?

Есть ли способ в .NET Framework или бесплатная библиотека Open Source для красивой печати XML?

Ответ 1

Все стандартные XML-интерфейсы .Net будут отформатировать их вывод.

Использование LINQ to XML:

string formatted = XDocument.Parse(source).ToString();

или

string formatted = XDocument.Load(path).ToString();

Ответ 2

Используйте XmlWriterSettings с XmlWriter

var doc = new XmlDocument();
doc.Load(@"c:\temp\asdf.xml");
var writerSettings = new XmlWriterSettings 
{
    Indent = true,
    NewLineOnAttributes = true,
};

var writer = XmlWriter.Create(@"c:\temp\asdf_pretty.xml", writerSettings);
doc.Save(writer);

Ответ 3

Вы можете использовать XMLBuilder для генерации XML и затем вызвать метод ToString для получения отступов.