Russian Qt Forum
Октябрь 17, 2017, 14:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: универсальный xmlReader  (Прочитано 246 раз)
nvek
Самовар
**
Offline Offline

Сообщений: 137



Просмотр профиля
« : Октябрь 10, 2017, 05:44 »

возник вопрос, касательно чтения xml
можно ли при чтении определить вначале это win1251 или utf-8 а потом уже установить setCodec и прочитать xml?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3819



Просмотр профиля
« Ответ #1 : Октябрь 10, 2017, 06:41 »

возник вопрос, касательно чтения xml
можно ли при чтении определить вначале это win1251 или utf-8 а потом уже установить setCodec и прочитать xml?
В начале документа, как правило есть секция с тегом ?xml, у нее есть атрибут encoding, с указанием кодировки:
<?xml version="1.0" encoding="UTF-8"?>
 
QXmlDocument сам использует это значение при парсинге документа.
Записан
nvek
Самовар
**
Offline Offline

Сообщений: 137



Просмотр профиля
« Ответ #2 : Октябрь 10, 2017, 07:55 »

да. но суть в том чтобы узнать этот атрибут.
Есть два документа. структура одинаковая, но у одного виндовозовская кодировка, а у другого- utf-8.
Как прочитать их одинаково?
« Последнее редактирование: Октябрь 10, 2017, 08:02 от nvek » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3819



Просмотр профиля
« Ответ #3 : Октябрь 10, 2017, 09:15 »

да. но суть в том чтобы узнать этот атрибут.
Есть два документа. структура одинаковая, но у одного виндовозовская кодировка, а у другого- utf-8.
Как прочитать их одинаково?
Отдать их QXmlDocument, он все сделает сам.
Записан
sergek
Программист
*****
Offline Offline

Сообщений: 500


Мы должны приносить пользу людям!


Просмотр профиля
« Ответ #4 : Октябрь 10, 2017, 10:04 »

Отдать их QXmlDocument, он все сделает сам.
Что за класс?
Записан

Qt 5.9.1 Qt Creator 4.4.1
Win7, Win10, Ubuntu 14.04
MrDron
Новичок

Offline Offline

Сообщений: 15


Просмотр профиля
« Ответ #5 : Октябрь 10, 2017, 10:27 »

Что за класс?
Видимо он подразумевает QDomDocument. Но если xml большая, то использовать DOM накладно.
Записан
sergek
Программист
*****
Offline Offline

Сообщений: 500


Мы должны приносить пользу людям!


Просмотр профиля
« Ответ #6 : Октябрь 10, 2017, 11:08 »

возник вопрос, касательно чтения xml
А какой парсер вы имеете в виду? Если SAX, то могу дать ссылку на пример. Хотя, если речь только о чтении - то, как вам уже сообщили, парсеру не нужны никакие дополнительные действия, кроме атрибута encoding в заголовке документа.
А вот при записи документа может потребоваться установка кодировки, если она отлична от UTF-8.
Записан

Qt 5.9.1 Qt Creator 4.4.1
Win7, Win10, Ubuntu 14.04
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.056 секунд. Запросов: 22.