当前位置: 首页 > news >正文

检察网站建设陕西省建设教育培训中心网站

检察网站建设,陕西省建设教育培训中心网站,魏县企业做网站推广,药品网站模板如何使用QXmlStreamReader来解析格式良好的XML#xff0c;Qt的文档中指出#xff0c;它是一种更快、更方便的Qt自己的SAX解析器#xff08;QXmlSimpleReader#xff09;的替代#xff0c;它也较快#xff0c;在某种情况下#xff0c;比DOM#xff08;QDomDocument…如何使用QXmlStreamReader来解析格式良好的XMLQt的文档中指出它是一种更快、更方便的Qt自己的SAX解析器QXmlSimpleReader的替代它也较快在某种情况下比DOMQDomDocument更方便。 解析方法 void ParseXML::parseXML(QString file_name) {if(file_name.isEmpty()) return; QFile *file new QFile(file_name); if(!file-open(QFile::ReadOnly | QFile::Text)) { QMessageBox::information(NULL, QString(title), QString(open error!));return; } //QXmlStreamReader操作任何QIODevice.QXmlStreamReader xml(file);QList persons;//解析XML直到结束while(!xml.atEnd() !xml.hasError()){//读取下一个element.QXmlStreamReader::TokenType token xml.readNext();//如果获取的仅为StartDocument,则进行下一个if(token QXmlStreamReader::StartDocument) {continue;}//如果获取了StartElement,则尝试读取if(token QXmlStreamReader::StartElement){//如果为persons直接进入下一个if(xml.name() persons){continue;}//如果为person则对其进行解析if(xml.name() person){persons.append(this-parsePerson(xml));}}}if(xml.hasError()){QMessageBox::information(NULL, QString(parseXML), xml.errorString());}//从reader中删除所有设备、数据并将其重置为初始状态xml.clear(); }QMap ParseXML::parsePerson(QXmlStreamReader xml) {QMap person;//检查是否获取personif(xml.tokenType() ! QXmlStreamReader::StartElement xml.name() person){return person;}//获取person属性QXmlStreamAttributes attributes xml.attributes();if(attributes.hasAttribute(id)) {person[id] attributes.value(id).toString();}//操作下一个xml.readNext();while(!(xml.tokenType() QXmlStreamReader::EndElement xml.name() person)) {if(xml.tokenType() QXmlStreamReader::StartElement){if(xml.name() name){this-addElementDataToMap(xml, person);}if(xml.name() age) {this-addElementDataToMap(xml, person);}if(xml.name() email) {this-addElementDataToMap(xml, person);}if(xml.name() website) {this-addElementDataToMap(xml, person);}}xml.readNext();}QString id person[id];QString name person[name];QString age person[age];QString email person[email];QString website person[website];return person; }void ParseXML::addElementDataToMap(QXmlStreamReader xml, QMap map) const {if(xml.tokenType() ! QXmlStreamReader::StartElement) {return;}QString elementName xml.name().toString();xml.readNext();if(xml.tokenType() ! QXmlStreamReader::Characters) {return;}map.insert(elementName, xml.text().toString()); }
http://www.w-s-a.com/news/585941/

相关文章:

  • 网站开发时间进度北京有哪些著名网站
  • 深圳比较好的设计网站公司自己的网站到期域名如何续费
  • 温州做网站哪儿新云网站模版
  • 网站开发 视频存在哪检察院前期网站建设
  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品
  • 网站可以换主机吗中国十大网站建设企业
  • 怎么做盗版小说网站官网做有下拉列表的网站的图片
  • 邢台网站建设电话网站界面类型
  • 网站制作合同模板做一个网站能挣多少钱
  • 汶上1500元网站建设互联网高端官网
  • 广州做公司网站网站开发培训机构
  • 网站建设与维护 课件网页版qq安全中心登录入口
  • 做三个月网站广告收入dw如何制作网页
  • ...课程网站建设简介工信部 网站备案查询
  • 网站代码建设 实例企业网站建设大概的费用
  • 制作网站软件排行榜过年做啥网站致富
  • 哪里有做网站企业seo关键词优化
  • 上海金山网站建设公司手机淘宝客网站怎么做的
  • 网站开发需要公司做网站费用计入什么科目