XmlListModel QML Type
Pour définir un modèle en lecture seule à l'aide de données XML. En savoir plus...
| Import Statement: | import QtQml.XmlListModel |
Propriétés
- count : int
- progress : real
- query : string
- roles : list<XmlListModelRole>
- source : url
- status : enumeration
Méthodes
- string errorString()
- void reload()
Description détaillée
Pour utiliser cet élément, vous devez importer le module à l'aide de la ligne suivante :
import QtQml.XmlListModelXmlListModel sert à créer un modèle en lecture seule à partir de données XML. Il peut être utilisé comme source de données pour les éléments de vue (tels que ListView, PathView, GridView) et d'autres éléments qui interagissent avec les données du modèle (tels que Repeater).
Remarque : ce modèle ne prend pas en charge les requêtes XPath. Il prend en charge les chemins simples séparés par des barres obliques et, en option, un attribut pour chaque élément.
Par exemple, si un document XML se trouve à l’adresse https://www.qt.io/blog/rss.xml et se présente comme suit :
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
...
<channel>
<item>
<title>Qt 6.0.2 Released</title>
<link>https://www.qt.io/blog/qt-6.0.2-released</link>
<pubDate>Wed, 03 Mar 2021 12:40:43 GMT</pubDate>
</item>
<item>
<title>Qt 6.1 Beta Released</title>
<link>https://www.qt.io/blog/qt-6.1-beta-released</link>
<pubDate>Tue, 02 Mar 2021 13:05:47 GMT</pubDate>
</item>
<item>
<title>Qt Creator 4.14.1 released</title>
<link>https://www.qt.io/blog/qt-creator-4.14.1-released</link>
<pubDate>Wed, 24 Feb 2021 13:53:21 GMT</pubDate>
</item>
</channel>
</rss>Un XmlListModel pourrait créer un modèle à partir de ces données, comme suit :
import QtQml.XmlListModel
XmlListModel {
id: xmlModel
source: "https://www.qt.io/blog/rss.xml"
query: "/rss/channel/item"
XmlListModelRole { name: "title"; elementName: "title" }
XmlListModelRole { name: "pubDate"; elementName: "pubDate" }
XmlListModelRole { name: "link"; elementName: "link" }
}La valeur « /rss/channel/item » de l’ query spécifie que l’XmlListModel doit générer un élément de modèle pour chaque <item> du document XML.
Les objets « XmlListModelRole » définissent les attributs des éléments du modèle. Ici, chaque élément du modèle possédera les attributs « title », « pubDate » et « link », qui correspondent respectivement aux valeurs « title », « pubDate » et « link » de son « <item> » correspondant. (Consultez la documentation de XmlListModelRole pour plus d’exemples.)
Le modèle peut être utilisé dans une ListView, comme ceci :
ListView {
width: 180; height: 300
model: xmlModel
delegate: Text { text: title + ": " + pubDate + "; link: " + link }
}Les données de l’ XmlListModel sont chargées de manière asynchrone, et status est défini sur XmlListModel.Ready une fois le chargement terminé. Notez que cela signifie que lorsque XmlListModel est utilisé pour une vue, celle-ci n’est pas renseignée tant que le modèle n’est pas chargé.
Documentation sur les propriétés
count : int
Le nombre d'enregistrements dans le modèle.
progress : real
Cette valeur indique la progression actuelle du téléchargement de la source de données XML. Elle varie entre 0,0 (aucune donnée téléchargée) et 1,0 (toutes les données téléchargées). Si les données XML ne proviennent pas d'une source distante, la progression atteint 1,0 dès que les données sont lues.
Notez que lorsque la progression est de 1,0, les données XML ont bien été téléchargées, mais elles n’ont pas encore été chargées dans le modèle à ce stade. Utilisez la propriété « status » pour savoir quand les données XML ont été lues et chargées dans le modèle.
Voir également status et source.
query : string
Une chaîne de caractères représentant le chemin d'accès de base permettant de créer des éléments de modèle à partir des objets « XmlListModelRole » de ce modèle. La requête doit commencer par '/'.
roles : list<XmlListModelRole>
Les rôles à mettre à disposition pour ce modèle.
source : url
Emplacement de la source de données XML.
status : enumeration
Indique l'état de chargement du modèle, qui peut être l'un des suivants :
| Constante | Description |
|---|---|
XmlListModel.Null | Aucune donnée XML n'a été définie pour ce modèle. |
XmlListModel.Ready | Les données XML ont été chargées dans le modèle. |
XmlListModel.Loading | Le modèle est en train de lire et de charger des données XML. |
XmlListModel.Error | Une erreur s'est produite lors du chargement du modèle. Consultez errorString() pour plus de détails sur l'erreur. |
Voir également progress.
Documentation de la méthode
string errorString()
Renvoie une chaîne décrivant la dernière erreur survenue si ` status ` est de type ` XmlListModel.Error`.
void reload()
Recharge le modèle.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.