En esta página

XmlListModel QML Type

Para especificar un modelo de sólo lectura utilizando datos XML. Más...

Import Statement: import QtQml.XmlListModel

Propiedades

Métodos

Descripción detallada

Para utilizar este elemento, deberá importar el módulo con la siguiente línea:

import QtQml.XmlListModel

XmlListModel se utiliza para crear un modelo de sólo lectura a partir de datos XML. Puede ser utilizado como fuente de datos para elementos de vista (como ListView, PathView, GridView) y otros elementos que interactúan con los datos del modelo (como Repeater).

Nota: Este modelo no soporta las consultas XPath. Soporta simples rutas separadas por barras y, opcionalmente, un atributo para cada elemento.

Por ejemplo, si hay un documento XML en https://www.qt.io/blog/rss.xml como este:

<?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 podría crear un modelo a partir de estos datos, así:

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

El valor query de "/rss/channel/item" especifica que el XmlListModel debe generar un elemento del modelo para cada <item> del documento XML.

Los objetos XmlListModelRole definen los atributos del elemento del modelo. En este caso, cada elemento del modelo tendrá los atributos title, pubDate y link que coincidan con los valores title, pubDate y link de su correspondiente <item>. (Consulte la documentación de XmlListModelRole para ver más ejemplos).

El modelo podría utilizarse en un ListView, como éste:

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

Los datos de XmlListModel se cargan de forma asíncrona, y status se establece en XmlListModel.Ready cuando se completa la carga. Tenga en cuenta que esto significa que cuando se utiliza XmlListModel para una vista, la vista no se rellena hasta que se carga el modelo.

Documentación de propiedades

count : int

El número de entradas de datos en el modelo.

progress : real

Indica el progreso actual de la descarga de la fuente de datos XML. Este valor oscila entre 0,0 (ningún dato descargado) y 1,0 (todos los datos descargados). Si los datos XML no proceden de una fuente remota, el progreso se convierte en 1,0 en cuanto se leen los datos.

Tenga en cuenta que cuando el progreso es 1.0, los datos XML se han descargado, pero aún no se han cargado en el modelo en este punto. Utilice la propiedad status para saber cuándo se han leído y cargado los datos XML en el modelo.

Véase también status y source.

query : string

Cadena que representa la ruta base para crear elementos del modelo a partir de los objetos XmlListModelRole de este modelo. La consulta debe comenzar por '/'.

roles : list<XmlListModelRole>

Los roles a poner a disposición de este modelo.

source : url

La ubicación de la fuente de datos XML.

status : enumeration

Especifica el estado de carga del modelo, que puede ser uno de los siguientes:

ConstanteDescripción
XmlListModel.NullNo se han cargado datos XML en este modelo.
XmlListModel.ReadyLos datos XML se han cargado en el modelo.
XmlListModel.LoadingEl modelo está en proceso de lectura y carga de datos XML.
XmlListModel.ErrorSe ha producido un error durante la carga del modelo. Consulte errorString() para obtener más información sobre el error.

Véase también progress.

Documentación del método

string errorString()

Devuelve una cadena con la descripción del último error que se ha producido si status es XmlListModel.Error.

void reload()

Vuelve a cargar el modelo.

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