Название: [РЕШЕНО] QXmlStreamReader Отправлено: OKTA от Сентябрь 04, 2014, 14:52 Товарищи, вопрос дурацкий, но все же вопрос.
Имею файл с xml, читаю его через QXmlStreamReader. При этом, если передавать указатель на QIODevice, то reader ничего в файле не видит, а если сделать readAll и передать ридеру QString, то все ок.. В чем может быть косячок? >:( Название: Re: QXmlStreamReader Отправлено: Пантер от Сентябрь 04, 2014, 15:01 А открыть QIODevice не забываешь? Код показывай.
Название: Re: QXmlStreamReader Отправлено: OKTA от Сентябрь 04, 2014, 15:04 не, не забываю)
Код: QFile configFile(filePath); Название: Re: QXmlStreamReader Отправлено: Пантер от Сентябрь 05, 2014, 07:48 Вроде, норм все. Сделай минимальный компилябельный пример.
Название: Re: QXmlStreamReader Отправлено: torwig от Сентябрь 05, 2014, 08:47 Код: QFile configFile("config.xml"); Название: Re: QXmlStreamReader Отправлено: OKTA от Сентябрь 05, 2014, 10:22 Хм...весь прикол в кодировке символов ???
В архиве тестовый примерчик и файл конфига - в нем значения поля name достаточно поменять на что-нибудь английское вместо русского и все работает через QXmlStreamReader ( QIODevice * device ). А иначе только через QString и readAll из файла. Название: Re: QXmlStreamReader Отправлено: Пантер от Сентябрь 05, 2014, 10:41 В xml попробуй явно кодировку указать.
Название: Re: QXmlStreamReader Отправлено: OKTA от Сентябрь 05, 2014, 11:11 Хм, да. с указанием кодировки работает. Значит надо просто setCodec явно делать в QXmlStreamWriter. Всем спасибо! ;)
Название: Re: [РЕШЕНО] QXmlStreamReader Отправлено: Пантер от Сентябрь 05, 2014, 11:16 Привыкни просто везде, где используется нелатиница, явно указывать кодировку.
Название: Re: [РЕШЕНО] QXmlStreamReader Отправлено: OKTA от Сентябрь 05, 2014, 11:25 Хм, а вот и не ставится кодировка если использовать setCodec в QXmlStreamWriter ???
Цитировать void QXmlStreamWriter::setCodec ( QTextCodec * codec ) Что опять не так?))Sets the codec for this stream to codec. The codec is used for encoding any data that is written. By default, QXmlStreamWriter uses UTF-8. The encoding information is stored in the initial xml tag which gets written when you call writeStartDocument(). Call this function before calling writeStartDocument(). Название: Re: [РЕШЕНО] QXmlStreamReader Отправлено: Пантер от Сентябрь 05, 2014, 11:30 Как всегда, кот в студию!
Название: Re: [РЕШЕНО] QXmlStreamReader Отправлено: OKTA от Сентябрь 05, 2014, 12:01 ;D а, я нашел косяк... Если использовать QXmlStreamWriter сразу с QFile, то кодировка пишется, а если с QString, то нет ;D
|