Как узнать, есть ли у элемента дочерние элементы или нет в QXmlStreamReader CPP

У меня есть огромный XML-файл, элементы которого могут быть повторяющимися и могут содержать количество дочерних элементов. Мне нужен общий код, который может читать все элементы и их дочерние элементы без жесткого кодирования. Примечание: можно использовать только QXmlStreamReader, а не QDomDocument. Спасибо!!

while (!reader.atEnd())
        {
            QString nodename;

            if (reader.isStartElement())///check if the element has chlid tags
            {
                        nodename = reader.name().toString();
                qDebug() << "NodeName is : " << nodename;
                nodevalue = reader.text().toString();
                qDebug() << "NodeValue is : " << nodevalue;
                p_rootParent->CreateChildElement(nodename,reader.text().toString());

            }
            else
            {
                while (reader.readNextStartElement())
                {
                    nodename = reader.name().toString();
                    qDebug() << "NodeName is : " << nodename;
                    nodevalue = reader.text().toString();
                    qDebug() << "NodeValue is : " << nodevalue;
                    p_rootParent->CreateChildElement(nodename, reader.text().toString());
                }
            }
        }

Это код, который я написал до сих пор, но он не работает, любая помощь будет оценена.

0 ответов

Другие вопросы по тегам