首页 > 代码库 > QtXML 举例
QtXML 举例
QT读取xml有2个方法
对于xml数据比较大的就要用QXmlStreamReader
对于数据比较小的就用QDomDocument,这个比较方便
我这里就是以QDomDocument为主要内容,讲解如何读取
index.xml
[html] view plaincopyprint?
- <?xml version="1.0" encoding="utf-8"?>
- <ndex>
- <item>
- <id>1234567</id>
- <title>wangwang</title>
- <text>wuying</text>
- </item>
- <item>
- <id>1234567</id>
- <title>wangwang</title>
- <text>wuying</text>
- </item>
- <item>
- <id>1234567</id>
- <title>wangwang</title>
- <text>wuying</text>
- </item>
- </ndex>
main.cpp
[html] view plaincopyprint?
- #include <QtCore/QCoreApplication>
- #include "QFile"
- #include "QTextCodec"
- #include "QDomDocument"
- int main(int argc, char *argv[])
- {
- QTextCodec *codec = QTextCodec::codecForName("utf-8");
- QTextCodec::setCodecForLocale(codec);
- QTextCodec::setCodecForCStrings(codec);
- QTextCodec::setCodecForTr(codec);
- QCoreApplication a(argc, argv);
- QDomDocument doc;
- QFile xmlfile("index.xml"); //filepath为xml文件路径
- if (!xmlfile.open(QIODevice::ReadOnly))
- {
- return false;
- }
- if (!doc.setContent(&xmlfile))
- {
- xmlfile.close();
- return false;
- }
- QDomElement root = doc.documentElement();
- QDomNode node=root.firstChild().firstChild().nextSibling();
- qDebug(node.toElement().text().toAscii());
- qDebug(node.nodeName().toAscii());
- return a.exec();
- }
QtXML 举例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。