XmlListModel QML Type

Zur Angabe eines Nur-Lese-Modells mit XML-Daten. Mehr...

Import Statement: import QtQml.XmlListModel

Eigenschaften

Methoden

Ausführliche Beschreibung

Um dieses Element zu verwenden, müssen Sie das Modul mit der folgenden Zeile importieren:

import QtQml.XmlListModel

XmlListModel wird verwendet, um ein Nur-Lese-Modell aus XML-Daten zu erstellen. Es kann als Datenquelle für Ansichtselemente (wie ListView, PathView, GridView) und andere Elemente, die mit Modelldaten interagieren (wie Repeater), verwendet werden.

Hinweis: Dieses Modell unterstützt keine XPath-Abfragen. Es unterstützt einfache durch Schrägstrich getrennte Pfade und optional ein Attribut für jedes Element.

Zum Beispiel, wenn es ein XML Dokument auf https://www.qt.io/blog/rss.xml wie dieses gibt:

<?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>

Ein XmlListModel könnte ein Modell aus diesen Daten erstellen, etwa so:

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" }
}

Der Wert query von "/rss/channel/item" gibt an, dass das XmlListModel ein Modellelement für jedes <item> im XML-Dokument erzeugen soll.

Die XmlListModelRole Objekte definieren die Attribute der Modellelemente. In diesem Fall hat jedes Modellelement die Attribute title, pubDate und link, die mit den Werten title, pubDate und link des entsprechenden <item> übereinstimmen. (Weitere Beispiele finden Sie in der Dokumentation XmlListModelRole.)

Das Modell könnte in einer ListView verwendet werden, etwa so:

ListView {
    width: 180; height: 300
    model: xmlModel
    delegate: Text { text: title + ": " + pubDate + "; link: " + link }
}

Die Daten von XmlListModel werden asynchron geladen, und status wird auf XmlListModel.Ready gesetzt, wenn das Laden abgeschlossen ist. Wenn XmlListModel für eine Ansicht verwendet wird, bedeutet dies, dass die Ansicht nicht gefüllt wird, bis das Modell geladen ist.

Eigenschaft Dokumentation

count : int

Die Anzahl der Dateneinträge im Modell.


progress : real

Dies zeigt den aktuellen Fortschritt des Herunterladens der XML-Datenquelle an. Dieser Wert reicht von 0.0 (keine Daten heruntergeladen) bis 1.0 (alle Daten heruntergeladen). Wenn die XML-Daten nicht aus einer entfernten Quelle stammen, wird der Fortschritt auf 1,0 gesetzt, sobald die Daten gelesen werden.

Beachten Sie, dass bei einem Fortschritt von 1.0 die XML-Daten zwar heruntergeladen wurden, aber zu diesem Zeitpunkt noch nicht in das Modell geladen sind. Verwenden Sie die Eigenschaft status, um herauszufinden, wann die XML-Daten gelesen und in das Modell geladen worden sind.

Siehe auch status und source.


query : string

Eine Zeichenkette, die den Basispfad für die Erstellung von Modellelementen aus den XmlListModelRole Objekten dieses Modells darstellt. Die Abfrage sollte mit '/' beginnen.


Die Rollen, die für dieses Modell verfügbar gemacht werden sollen.


source : url

Der Speicherort der XML-Datenquelle.


status : enumeration

Gibt den Ladestatus des Modells an, der einer der folgenden sein kann:

KonstantBeschreibung
XmlListModel.NullEs wurden keine XML-Daten für dieses Modell festgelegt.
XmlListModel.ReadyDie XML-Daten wurden in das Modell geladen.
XmlListModel.LoadingDas Modell ist dabei, XML-Daten zu lesen und zu laden.
XmlListModel.ErrorBeim Laden des Modells ist ein Fehler aufgetreten. Siehe errorString() für Details über den Fehler.

Siehe auch progress.


Methode Dokumentation

errorString()

Gibt eine String-Beschreibung des letzten aufgetretenen Fehlers zurück, wenn status XmlListModel .Error ist.


reload()

Lädt das Modell neu.


© 2025 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.