Как изменить кодировку 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д