Russian Qt Forum

Qt => XML => Тема начата: y.andrey от Июнь 13, 2012, 10:50



Название: Encoding QDomText for "\n"
Отправлено: y.andrey от Июнь 13, 2012, 10:50
Здравствуйте.

Случайно обнаружил что QDomText при encode в текст (через toString() например) не кодирует "\n". Вот хотел узнать это норма или баг. Причина в этом коде:

Код:
void QDomTextPrivate::save(QTextStream& s, int, int) const
{
    QDomTextPrivate *that = const_cast<QDomTextPrivate*>(this);
    s << encodeText(value, s, !(that->parent() && that->parent()->isElement()), false, true);
}

первый false в encodeText убирает кодирование для "\n", но при это кодирование для "\r" осуществляется.

А вот например QDomAttribute кодирование осущетсвляется для "\r\n" (оба флага true).

Для меня это оказалось неожиданной неприятностью тк часть софта (не все сделано на Qt) использует "tinyxml" который все "\r\n" игнорирует.
Вообщем проблема решабельна. Можно отказаться от Qdom в пользу "tinyxml". Можно поменять Qt код. Можно подогнать "tinyxml". Вопрос в том должно ли там быть?