Qt解析xml
来源:互联网 发布:淘宝买家评论怎么写 编辑:程序博客网 时间:2024/05/19 17:25
发现用 Qt 解析 xml 文件非常方便,下面是一个简单的解析 xml 文件的例子:
#include <QtCore/QCoreApplication>#include <QDomDocument>#include <QDomElement>#include <QDomAttr>#include <QFile>void parse( const char *filename ){if( NULL == filename )return;QFile file( filename );if( !file.open(QFile::ReadOnly | QFile::Text) ) {printf( "open file '%s' failed, error: %s !\n", filename, file.errorString().toStdString().c_str() );return;}QDomDocumentdocument;QStringstrError;interrLin = 0, errCol = 0;if( !document.setContent(&file, false, &strError, &errLin, &errCol) ) {printf( "parse file failed at line %d column %d, error: %s !\n", errLin, errCol, strError );return;}if( document.isNull() ) {printf( "document is null !\n" );return;}QDomElement root = document.documentElement();printf( "%s ", root.tagName().toStdString().c_str() );if( root.hasAttribute("name") )printf( "%s\n", root.attributeNode("name").value().toStdString().c_str() );QDomElement files = root.firstChildElement();if( files.isNull() )return;elseprintf( "\t%s\n", files.tagName().toStdString().c_str() );QDomElement element = files.firstChildElement();while( !element.isNull() ) {if( element.hasAttribute("name") )printf( "\t\t file: %s", element.attributeNode("name").value().toStdString().c_str() );if( element.hasAttribute("size") )printf( "\t %s", element.attributeNode("size").value().toStdString().c_str() );printf( "\n" );element = element.nextSiblingElement();}}int main(int argc, char *argv[]){QCoreApplication a(argc, argv);char filename[256] = { 0 };printf( "please input file name: " );gets( filename );parse( filename );return a.exec();}
执行效果:
xml文件:
这个只是 xml 文件解析的例子,xml 文件的生存还没有研究过,以后有时间再说。
- Qt解析xml
- qt xml 解析
- qt解析xml文件
- Qt 解析XML文件
- Qt中解析xml
- qt xml解析
- Qt XML数据解析
- QT----解析XML文件
- qt-xml-生成/解析
- QT解析XML文件
- Qt XML文件解析
- 基于Qt的xml解析
- QT中使用QXmlStreamReader解析XML文件
- QT中基于流的XML解析
- QT中使用QXmlStreamReader解析XML文件
- QT中使用QXmlStreamReader解析XML文件
- QT中使用QXmlStreamReader解析XML文件
- QT中使用QXmlStreamReader解析XML文件
- VMWare 网络连接的三种工作模式(bridged、host-only、NAT)
- 寻址方式的应用
- C++信号量 Semaphore 和 MFC中的 CSemaphore类使用
- WPF下的资源问题
- PHP中的urlencode
- Qt解析xml
- Eclipse PDT安装配置XDebug和subversion(windows系统)
- 事件内核对象 event对象 和MFC中 CEvent类
- Java讲座,第一讲
- kvm 网卡Bridge设置
- linux下 tar解压 gz解压 bz2等各种解压文件使用方法
- 分享的博客地址
- 异常 Exception(Error) (转贴)
- String与string的区别(注意大小写)