Название: универсальный xmlReader Отправлено: nvek от Октябрь 10, 2017, 05:44 возник вопрос, касательно чтения xml
можно ли при чтении определить вначале это win1251 или utf-8 а потом уже установить setCodec и прочитать xml? Название: Re: универсальный xmlReader Отправлено: Old от Октябрь 10, 2017, 06:41 возник вопрос, касательно чтения xml В начале документа, как правило есть секция с тегом ?xml, у нее есть атрибут encoding, с указанием кодировки:можно ли при чтении определить вначале это win1251 или utf-8 а потом уже установить setCodec и прочитать xml? <?xml version="1.0" encoding="UTF-8"?> QXmlDocument сам использует это значение при парсинге документа. Название: Re: универсальный xmlReader Отправлено: nvek от Октябрь 10, 2017, 07:55 да. но суть в том чтобы узнать этот атрибут.
Есть два документа. структура одинаковая, но у одного виндовозовская кодировка, а у другого- utf-8. Как прочитать их одинаково? Название: Re: универсальный xmlReader Отправлено: Old от Октябрь 10, 2017, 09:15 да. но суть в том чтобы узнать этот атрибут. Отдать их QXmlDocument, он все сделает сам.Есть два документа. структура одинаковая, но у одного виндовозовская кодировка, а у другого- utf-8. Как прочитать их одинаково? Название: Re: универсальный xmlReader Отправлено: sergek от Октябрь 10, 2017, 10:04 Отдать их QXmlDocument, он все сделает сам. Что за класс? Название: Re: универсальный xmlReader Отправлено: MrDron от Октябрь 10, 2017, 10:27 Что за класс? Видимо он подразумевает QDomDocument. Но если xml большая, то использовать DOM накладно.Название: Re: универсальный xmlReader Отправлено: sergek от Октябрь 10, 2017, 11:08 возник вопрос, касательно чтения xml А какой парсер вы имеете в виду? Если SAX, то могу дать ссылку на пример. Хотя, если речь только о чтении - то, как вам уже сообщили, парсеру не нужны никакие дополнительные действия, кроме атрибута encoding в заголовке документа. А вот при записи документа может потребоваться установка кодировки, если она отлична от UTF-8. Название: Re: универсальный xmlReader Отправлено: nvek от Октябрь 23, 2017, 10:08 так вот, как найти encoding с помощью QXmlStreamReader и зависимости от параметра прочитать подругому??
Название: Re: универсальный xmlReader Отправлено: Alex Custov от Октябрь 23, 2017, 10:58 так вот, как найти encoding с помощью QXmlStreamReader и зависимости от параметра прочитать подругому?? https://doc.qt.io/qt-5/qxmlstreamreader.html#documentEncoding Название: Re: универсальный xmlReader Отправлено: sergek от Октябрь 23, 2017, 11:09 Кодировку определить - не проблема. Она либо есть (в декларации), либо не указана, что подразумевает UTF-8. А задать кодировку при чтении, по-моему, не удастся.
Название: Re: универсальный xmlReader Отправлено: nvek от Октябрь 26, 2017, 14:14 У меня не получается определить кодировку при чтении
QStringRef encoding = xmlReader.documentEncoding(); вернул NULL |