Russian Qt Forum

Qt => XML => Тема начата: akaMDA от Ноябрь 17, 2011, 16:16



Название: Парсинг XML. Функция text()
Отправлено: akaMDA от Ноябрь 17, 2011, 16:16
Вот простейший пример

Код:
    QByteArray buf;
    QXmlStreamWriter xml_writer(&buf);

    xml_writer.setAutoFormatting(true);
    xml_writer.writeStartDocument();
    xml_writer.writeStartElement("XML_DATA");
    xml_writer.writeCharacters("ABC");
    xml_writer.writeEndElement();
    xml_writer.writeEndDocument();

    QString strXmlData("");

    QXmlStreamReader xml_reader;
    xml_reader.clear();
    xml_reader.addData(buf);

    while(!xml_reader.atEnd())
    {
        xml_reader.readNext();

        if(xml_reader.name() == "XML_DATA")
        {
            strXmlData = xml_reader.text().toString();
        }
    }

Почему в результате strXmlData оказывается пустой?


Название: Re: Парсинг XML. Функция text()
Отправлено: trot от Ноябрь 19, 2011, 17:21
Надо взять текст у первого дочернего элемент xml_reader == "XML_DATA".