Russian Qt Forum

Qt => XML => Тема начата: Inhibitor от Февраль 02, 2017, 10:44



Название: (+ЗАКРЫТ+) Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: Inhibitor от Февраль 02, 2017, 10:44
Добрый день.

Помогите пожалуйста, зацепился рогом о казалось бы сперва простую задачу и не могу ничего поделать уж полдня. Суть: формирую XML документ исходя из настроек указанных пользователем в приложении и все вроде хорошо, но в шапку документа автоматом добавляется строка <!DOCTYPE тип документа>. Пользователей же сия строка огорчает. Как не допустить создание этой строки?


Название: Re: Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: Пантер от Февраль 02, 2017, 10:54
Покажи как создаешь xml.


Название: Re: Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: Inhibitor от Февраль 02, 2017, 11:06
Код:
{
    ...

    QDomDocument doc("type");

    QDomProcessingInstruction instr;
    instr = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\"");
    doc.appendChild(instr);

    QDomElement root = doc.createElement("root");

    ....
}


Название: Re: Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: VPS от Февраль 02, 2017, 11:13
Попробуйте использовать пустой конструктор QDomDocument:
Код:
QDomDocument doc;


Название: Re: Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: Пантер от Февраль 02, 2017, 11:23
Можно воспользоваться QXmlStreamWriter для генерации xml.


Название: Re: Как исключить создание тега <!DOCTYPE ***> в документе
Отправлено: Inhibitor от Февраль 02, 2017, 14:00
Похоже действительно надо создавать QDomDocument без параметров.

Спасибо всем ответившим.