Exemple de partage de code pour l'analyse XML de Qt
Comment utiliser QXmlStreamReader pour analyser du XML bien formé, la documentation de Qt indique qu'il s'agit d'une alternative plus rapide et plus pratique au propre analyseur SAX de Qt (QXmlSimpleReader), il est également plus rapide, dans certains cas, il est plus pratique que DOM ( QDomDocument).
Fichier XML :
Méthode d'analyse :
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; //检查是否获取person if(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()); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Utilisation de Python pour fusionner et dédupliquer des données XML XML (eXtensibleMarkupLanguage) est un langage de balisage utilisé pour stocker et transmettre des données. Lors du traitement de données XML, nous devons parfois fusionner plusieurs fichiers XML en un seul ou supprimer les données en double. Cet article explique comment utiliser Python pour implémenter la fusion et la déduplication de données XML, et donne des exemples de code correspondants. 1. Fusion de données XML Lorsque nous avons plusieurs fichiers XML, nous devons les fusionner

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Importation de données XML dans la base de données à l'aide de PHP Introduction : Pendant le développement, nous devons souvent importer des données externes dans la base de données pour un traitement et une analyse ultérieurs. En tant que format d'échange de données couramment utilisé, XML est souvent utilisé pour stocker et transmettre des données structurées. Cet article explique comment utiliser PHP pour importer des données XML dans une base de données. Étape 1 : analyser le fichier XML Tout d'abord, nous devons analyser le fichier XML et extraire les données requises. PHP propose plusieurs façons d'analyser XML, la plus couramment utilisée étant l'utilisation de Simple

Python implémente la conversion entre XML et JSON Introduction : Dans le processus de développement quotidien, nous devons souvent convertir des données entre différents formats. XML et JSON sont des formats d'échange de données courants. En Python, nous pouvons utiliser diverses bibliothèques pour réaliser une conversion mutuelle entre XML et JSON. Cet article présentera plusieurs méthodes couramment utilisées, avec des exemples de code. 1. Pour convertir XML en JSON en Python, nous pouvons utiliser le module xml.etree.ElementTree

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des

Je suis un ingénieur technique Qt senior qui s'engage depuis de nombreuses années dans le développement et le lancement d'applications Qt dans l'environnement Linux. Ici, j'ai l'honneur de répondre à diverses questions connexes et j'ai hâte de répondre à vos doutes. 1. Comment empaqueter le programme Qt dans un environnement Linux ? La première tâche consiste à s'assurer que la plateforme de développement Qt requise et ses dépendances associées ont été correctement configurées. Ensuite, créez un Makefile à l'aide de la commande qmake et exécutez le processus de compilation du programme à l'aide de la commande make. Enfin, utilisez l'outil de packaging correspondant configuré dans le système d'exploitation Linux (tel que deb ou rpm, etc.) pour compresser le programme dans un fichier exécutable ou générer un package d'installation complet. Pourquoi l'application Qt que j'ai développée ne fonctionne-t-elle pas sous certains systèmes d'exploitation Linux ?
