LINUX.ORG.RU

Добавление спецсимволов в QDomText

 , ,


0

1

Доброе утро, ЛОР.

Имеется в наличии упоротый XML-файл с контактами (Родина дала им RFC 6351, но нет, надо извратиться — впрочем, это тема отдельная), в котором внутри одного элемента многострочный текст. Типа:

<contact>BEGIN:VCARD&#13;
VERSION:3.0&#13;
PRODID:-//Apple Inc.//iOS 9.2//EN&#13;
FN:John Smith&#13;
END:VCARD&#13;
</contact>

Т.е., как я понимаю, классическая виндовая пара возврат каретки - перевод строки. Перевод строки таким и остаётся, а возврат кодируется кодом с амперсендом.

Парсить это я научился, не вопрос. Теперь стоит задача генерировать такое средствами Qt. Как затащить в QDomText такой текст с разделителями? Амперсанд он заменяет на &amp; что логично. Если же написать join(«\r\n»), то в коде это вырождается в &#xd;

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Ответ на: комментарий от sanwashere

Так «&#13» и «&#xd» - это одно и то же.

Теоретически да...

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Суть в том, что если тебя не устраивает то, как QDom эскейпит твой текст, то единственный возможный вариант - вставлять вместо своего текста какую-то волшебную фразу, и потом уже в сгенерированном из QDomDocument тексте заменять эту фразу но вручную заэскейпленный как тебе надо текст. Способов как-то повлиять на его поведение нет.

Beewek ★★
()
Ответ на: комментарий от Beewek

Да, думал я над этим вариантом.

Так в моём примере тогда вообще XML легче руками сгенерить. Там XML-тегов в файле всего два, зато внутри них — большая плохо структурированная фигня.

hobbit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.