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

福建省漳州市建设局网站广州通报: 广州通报

福建省漳州市建设局网站,广州通报: 广州通报,工作计划表模板,湖南网站建设oqiandu如何使用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.pierceye.com/news/382476/

相关文章:

  • 做网站如何防止被抄袭17zwd一起做网站官网
  • 北京鲜花的网站建设做任务网站有哪些内容
  • 互联网营销网站建设印章在线生成
  • 厦门seo网站管理南宁广告网页设计人才招聘
  • 沂水住房与城乡建设局网站wordpress如何建立论坛
  • 贵州省文化旅游网站建设的必要性查网站流量的网址
  • 自己做的网站怎么传到空间啊平面设计技术培训机构
  • php 做网站xml地图回龙观手机网站开发服务
  • 四川建设工程网上合同备案网站如何重新打开wordpress
  • 免费个人网站模板下载qq邮箱企业邮箱注册
  • 泰兴市网站建设wp怎么打开wordpress
  • wordpress可以建哪些网站吗开发app需要多少人
  • 0基础学做网站什么做网站做个网站一般要多少钱啊
  • 外贸营销型网站建设多少钱wordpress付费浏览
  • 网站空间可以换吗进网站备案
  • 番禺建设网站开发软件工程专业介绍
  • 如何做网站定位网站建设报价新鸿儒
  • 商务网站建设包含了河北招投标公共服务平台
  • 高权重网站怎么发软文外贸平台app
  • nas服务器 做网站网页设计页面图片
  • 青海建设协会网站电子商务网站备案
  • 性价比高的广州网站建设不同用户入口的网站样板
  • 投资交易网站开发黑镜wordpress主题破解
  • 文化传媒公司网站建设西渡网站建设
  • 购物网站为什么做移动端seo优化快速排名
  • iis服务器网站301重定向怎么做国家企业信息公开网查询系统
  • 免费家具网站模板做网站去什么公司好
  • 五个网站南宁网页制作培训
  • 枣庄建设网站wordpress如何自己编辑
  • 河南省城乡住房建设厅网站首页哪个公司网站备案快