Как изменить кодировку XML-файла? - C#
Формулировка задачи:
Добрый день! Подскажите, как изменить кодировку xml-файла
Этот код работает правильно, но только если я в самом файле вручную изменю кодировку с utf-8 на windows-1251, однако нужно, чтобы код работал именно с utf-8
Help!
XmlTextReader xmlReader1 = new XmlTextReader(file1); xmlReader1.Encoding = "678"; xmlReader1.WhitespaceHandling = WhitespaceHandling.None; XmlTextReader xmlReader2 = new XmlTextReader(file2); xmlReader2.WhitespaceHandling = WhitespaceHandling.None; int fullcount = 0; var differentList = new List<string>(); while (xmlReader1.Read() && xmlReader2.Read()) { if (xmlReader1.NodeType == XmlNodeType.Element & xmlReader1.AttributeCount > 0) { fullcount++; if (xmlReader1.GetAttribute(0) != xmlReader2.GetAttribute(0)) { differentList.Add(xmlReader1.Name); } } } Console.WriteLine("Проверено " + fullcount + " элементов."); Console.WriteLine("Список несовпадающих элементов:"); foreach(string dif in differentList) { Console.WriteLine(dif); } Console.ReadLine();
пример xml-файла
<?xml version="1.0" encoding="utf-8"?> <ТестовыеДанные> <Фамилия value="Петров" /> <Имя value="Иван" /> <Отчество value="Иванович" /> <Пол value="Женский" /> <ДатаРождения value="01.01.1996" /> <УдостоверениеЛичности> <Тип value="Паспорт РФ" /> <Номер value="7748321242" /> </УдостоверениеЛичности> <АдресРегистрации> <Регион value="Москва" /> <Район value="Воскресенское" /> </АдресРегистрации> <Образование value="Высшее профессиональное" /> </ТестовыеДанные>
а вот и дельный совет для меня
FileStream stream1 = new FileStream(file1, FileMode.Open, FileAccess.Read); StreamReader reader1 = new StreamReader(stream1, Encoding.GetEncoding(1251)); XmlTextReader xmlReader1 = new XmlTextReader(reader1); xmlReader1.WhitespaceHandling = WhitespaceHandling.None; FileStream stream2 = new FileStream(file2, FileMode.Open, FileAccess.Read); StreamReader reader2 = new StreamReader(stream2, Encoding.GetEncoding(1251)); XmlTextReader xmlReader2 = new XmlTextReader(reader2); xmlReader2.WhitespaceHandling = WhitespaceHandling.None;
Решение задачи: «Как изменить кодировку XML-файла?»
textual
Листинг программы
StreamReader reader1 = new StreamReader(stream1, true);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д