@Pavel242

Как заменить десятиричные xml сущности на шестнадцатиричные?

Для формирования XML использую класс QXmlStreamReader, в итоговом документе сущности десятичные, то есть & #13; вместо & #xD; Можно ли как-то с этим справиться?
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
void translateInt10ToHex(QString& str)
{
    static const QRegExp rX("(\\&\\#[0-9]{2,3})");
    int pos = 0;

    while ((pos = rX.indexIn(str, pos)) > -1)
    {
        QString xB = rX.cap(1);
        str.replace(pos++, xB.size(), QLatin1String("&#x") + QByteArray(1, xB.right(xB.size() - 2).toUShort()).toHex().toUpper());
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы