Я использую такую технику, чтобы читать в каталоге Xml-файлов объект XmlDocument.Изменение форматирования xml после удаления нежелательных атрибутов.
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?
Спасибо, что отвечает на мой вопрос. Будет ли XmlWriter работать с StreamReader, или мне нужно заменить StreamReader? –
'StreamReader' используется для * чтения *,' XmlWriter' используется для * записи *. Вы не показали, как вы пишете полученный XML, но это то, что вам нужно использовать, чтобы сделать это, если вы хотите сохранить кавычки как одиночные. –
Будет ли «xmlDocument.Save (filePath)»; или мне нужно будет изменить способ сохранения/записи Xml? –