LINUX.ORG.RU

Специальный знак кавычки двойной

 , ,


0

1

Есть типа код который в xml пишет, я использую такое

    QString str="Обычный текст \"Текст в кавычках\"";
    ...
    QString xml = "Проверка кодировки";
    QXmlStreamWriter stream(&xml);
    stream.setAutoFormatting(true);
    stream.writeStartDocument(); 
    stream.writeStartElement("Begin");
...
    stream.writeTextElement("Tag", str);
...
    stream.writeEndElement();//Begin
    stream.writeEndDocument();
    QString s_out_xml = "any.xml";
    QFile *f_xml = new QFile(s_out_xml);
    f_xml->open(QIODevice::WriteOnly);
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    xml = xml.replace("<?xml version=\"1.0\"?>", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    xml = xml.replace("Проверка кодировки", "");
    QByteArray encodedString = codec->fromUnicode(xml);
    f_xml->write(encodedString);
    f_xml->close();
То есть текст русские буквы выводит правильно, а двойные кавычки пишет так в xml документе
<Tag>Обычный текст &quot;Текст в кавычках&quot;</Tag>
Как сделать чтобы нормально было?



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

Бывает. &quot; это нормальный вариант представления кавычек в XML.

PhysShell ★★
()
Последнее исправление: PhysShell (всего исправлений: 2)

Добавил такую конструкцию рядом с replace'ами

xml = xml.replace( "&quot;","\"");
И теперь как надо работает

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 2)
Ответ на: комментарий от bad_master
<tag value="Обычный текст &quot;Текст в кавычках&quot;" />
static_lab ★★★★★
()

Специальный знак кавычки двойной

Обнял я нежно своею рукой..

frunobulax ★★★
()

Надеюсь, это что-то для себя или для проприетарной конторы, догадавшейся нанять такого крутого спеца.

Не хотелось бы наткнуться ни на такой xml ни на софт, в котором баги генерации оного добавлены намеренно, где-нибудь в опенсорсе.

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

Что-то кучно пошло. Одному POSIX sh неправильно работает. Другому нужен «xml, но с нарушениями вывода спецсимволов»…

monk ★★★★★
()

Это и есть нормальное представление кавычки в XML.

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