Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QCoreApplication>
- #include <QDomDocument>
- #include <QtDebug>
- void parse_xml(const QDomNode &root)
- {
- qDebug() << root.toElement().tagName();
- QVector<QDomNode> queue;
- auto childs = root.childNodes();
- for (int i = 0; i < childs.size(); i++)
- {
- auto node = childs.item(i);
- if (node.nodeType() == QDomNode::TextNode)
- qDebug() << node.toText().data();
- else
- queue.push_back(node);
- }
- for (const auto &node : queue)
- parse_xml(node);
- }
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QString xml(
- R"(
- <тэг1>
- Текст 1.
- <тэг2>
- Текст 4.
- </тэг2>
- Текст 2.
- <тэг3>
- Текст 5.
- </тэг3>
- Текст 3.
- </тэг1>
- )");
- QDomDocument doc;
- doc.setContent(xml);
- parse_xml(doc.firstChild());
- return a.exec();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement