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

QT 官方例程阅读: XML Patterns 相关

标签用于在qt creator 中查询相关工程

一、标签 Schema Validator   模式验证器  

        就是根据 已知的XML 模式,验证输入的XML 文件格式是否匹配,不匹配可以输出不匹配位置

        如下,,首先定义了contact 元素 的子元素列表,,匹配文件中title 并没有定义,所以报错

    // 核心代码   MessageHandler messageHandler; //自定义消息结构,用于接受验证器异常的输出QXmlSchema schema; //源模式schema.setMessageHandler(&messageHandler);schema.load(schemaData);bool errorOccurred = false;if (!schema.isValid()) {errorOccurred = true;} else {QXmlSchemaValidator validator(schema); //验证器if (!validator.validate(instanceData))errorOccurred = true;}if (errorOccurred) {validationStatus->setText(messageHandler.statusMessage()); //输入异常} else {validationStatus->setText(tr("validation successful"));}

二、标签 Recipes XML

        

        Using Qt XML Patterns to query XML data loaded from a file

        理解为 输入查询条件和输出格式,从源文件中查找匹配项并根据格式输出

        

    QFile sourceDocument; //输入文件sourceDocument.setFileName(":/files/cookbook.xml");sourceDocument.open(QIODevice::ReadOnly);QByteArray outArray; //查询输出缓存QBuffer buffer(&outArray);buffer.open(QIODevice::ReadWrite);QXmlQuery query; //绑定变量,理解为将输入文件绑定到查询字符串中的变量inputDocumentquery.bindVariable("inputDocument", &sourceDocument); query.setQuery(str);if (!query.isValid())//执行return;QXmlFormatter formatter(query, &buffer); //将查询到的结果按格式输出到bufferif (!query.evaluateTo(&formatter)) //执行return;

三、标签 File patterns system xml

Using Qt XML Patterns for querying non-XML data that is modeled to look like XML.

也是用 QXmlQuery 去查询非XML 数据,然后输入XML 格式的数据

http://www.lryc.cn/news/287888.html

相关文章:

  • 基于SpringBoot IP黑白名单的实现
  • Redis客户端之Redisson(二)Redisson分布式锁
  • 掌握大语言模型技术: 推理优化
  • git如何导出提交记录及修改的文件清单?
  • 从零开始:Ubuntu Server中MySQL 8.0的安装与Django数据库配置详解
  • Vue基础知识
  • 瀑布流布局 (初版)
  • 硕士毕业论文写作笔记
  • 成本更低、更可控,云原生可观测新计费模式正式上线
  • 5.列表选择弹窗(BottomListPopup)
  • (十三)Head first design patterns原型模式(c++)
  • Python基础之数据库操作
  • redis-发布缓存
  • Stata17安装教程
  • Java PDFBox 提取页数、PDF转图片
  • 【代码随想录14】104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数
  • AWS 专题学习 P10 (Databases、 Data Analytics)
  • 一键拥有你的GPT4
  • 幻兽帕鲁服务器数据备份
  • 【Digester解析XML文件的三种方式】
  • MATLAB curve fitting toolbox没有怎么办?
  • Linux之快速入门(CentOS 7)
  • Spring框架中的设计模式
  • Java数据结构与算法:邻接矩阵和邻接表
  • 【温故而知新】JavaScript类、类继承、静态方法
  • 小黑艰难的前端啃bug之路:内联元素之间的间隙问题
  • Ubuntu 申请 SSL证书并搭建邮件服务器
  • 视频监控方案设计:EasyCVR视频智能监管系统方案技术特点与应用
  • pyspark.sql.types 中的类型有哪些
  • 开源CRM客户管理系统-FeelCRM