Я использую подобный метод для чтения из каталога файлов Xml в объект XmlDocument.
private static void StripAttributes(string filePath)
{
Contract.Requires(filePath != null);
var xmlDocument = new XmlDocument();
var encode = Encoding.GetEncoding("ISO-8859-1");
using (var sr = new StreamReader(filePath, encode))
{
xmlDocument.Load(sr);
}
Это работает, но при отображении выведенного Xml в текстовом редакторе одинарные кавычки вокруг атрибутов теперь заключаются в двойные кавычки, а дочерние узлы находятся в другой строке.
Пример из предыдущего:
<xml>
<xml2>
<xmlField id='foo' string='bar'><xmlValue>foobar</xmlValue></xmlField>
</xml2>
</xml>
Пример после форматирования:
<xml>
<xml2>
<xmlField id="foo">
<xmlValue>foobar</xmlValue>
</xmlField>
</xml2>
</xml>
Мне нужно, чтобы исходный формат оставался неизменным для целей сравнения.
Есть идеи, как сохранить исходный формат Xml?