Auf dieser Seite

XmlListModel QML Type

Zur Definition eines schreibgeschützten Modells mithilfe von 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 dient dazu, aus XML-Daten ein schreibgeschütztes Modell zu erstellen. Es kann als Datenquelle für Ansichtselemente (wie ListView, PathView, GridView) und andere Elemente verwendet werden, die mit Modelldaten interagieren (wie Repeater).

Hinweis: Dieses Modell unterstützt keine XPath-Abfragen. Es unterstützt einfache, durch Schrägstriche getrennte Pfade und optional ein Attribut pro Element.

Beispiel: Angenommen, unter https://www.qt.io/blog/rss.xml befindet sich ein XML-Dokument wie dieses:

<?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 aus diesen Daten ein Modell wie folgt erstellen:

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 „/rss/channel/item“ für „ query “ gibt an, dass das XmlListModel für jedes „ <item> “ im XML-Dokument ein Modellelement generieren soll.

Die „ XmlListModelRole “-Objekte definieren die Attribute der Modellelemente. Hier verfügt jedes Modellelement über 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 unter XmlListModelRole.)

Das Modell könnte wie folgt in einer ListView verwendet werden:

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

Die Daten von „ XmlListModel “ werden asynchron geladen, und „ status “ wird nach Abschluss des Ladevorgangs auf „ XmlListModel.Ready “ gesetzt. Beachten Sie, dass dies bedeutet: Wenn „ XmlListModel “ für eine Ansicht verwendet wird, wird die Ansicht erst dann gefüllt, wenn das Modell geladen ist.

Dokumentation zu den Eigenschaften

count : int

Die Anzahl der Datensätze im Modell.

progress : real

Dies gibt den aktuellen Fortschritt beim Herunterladen 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 Remote-Quelle stammen, erreicht der Fortschritt den Wert 1,0, sobald die Daten gelesen wurden.

Beachten Sie, dass bei einem Fortschritt von 1,0 die XML-Daten zwar heruntergeladen wurden, zu diesem Zeitpunkt jedoch noch nicht in das Modell geladen sind. Verwenden Sie die Eigenschaft „status“, um festzustellen, wann die XML-Daten gelesen und in das Modell geladen wurden.

Siehe auch status und source.

query : string

Eine Zeichenfolge, die den Basispfad für die Erstellung von Modellelementen aus den „ XmlListModelRole “-Objekten dieses Modells angibt. Die Abfrage sollte mit '/' beginnen.

roles : list<XmlListModelRole>

Die Rollen, die für dieses Modell bereitgestellt werden sollen.

source : url

Der Speicherort der XML-Datenquelle.

status : enumeration

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

KonstantBeschreibung
XmlListModel.NullFür dieses Modell wurden keine XML-Daten festgelegt.
XmlListModel.ReadyDie XML-Daten wurden in das Modell geladen.
XmlListModel.LoadingDas Modell ist gerade dabei, XML-Daten zu lesen und zu laden.
XmlListModel.ErrorBeim Laden des Modells ist ein Fehler aufgetreten. Weitere Informationen zum Fehler finden Sie unter errorString().

Siehe auch progress.

Methodendokumentation

string errorString()

Gibt eine Zeichenfolgenbeschreibung des zuletzt aufgetretenen Fehlers zurück, wenn „ status “ auf „ XmlListModel.Error“ gesetzt ist.

void reload()

Lädt das Modell neu.

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