Qt: поток XML не записывает строку напрямую - PullRequest
0 голосов
/ 14 мая 2011

Моя проблема заключается в следующем: моя программа работает с проектами и сохраняет их настройки в файле XML. Он также создает просматриваемые файлы HTML, используя тот же класс QXmlStreamWriter. Однако, поскольку предполагается, что XML пропускает определенные символы, многие символы неправильно представлены в файле HTML. Есть ли способ записать QString непосредственно в файл HTML, используя поток XML? Что-то вроде writeRaw() функция?

Поскольку я не мог найти решение этой проблемы, мне пришлось создать QTextStream(xml->device()) и записать в поток. Однако кажется, что поток работает асинхронно, и, в зависимости от ситуации, иногда он записывает свою часть кода только после того, как поток XML завершил запись всего файла. В терминах HTML это означает, что часть кода появляется после тега </html>. Есть ли другое решение?

Буду благодарен за любую помощь!

1 Ответ

0 голосов
/ 17 мая 2011

Хорошо, я решил свою проблему.

В документе говорится, что QString::QString(QByteArray&) преобразует байтовый массив в сильную, используя функцию QString::fromAscii(). Я заменил эту часть на QString::fromUtf8(myByteArray), и она сработала!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...