Михаиллл
Aug. 4, 2019, 12:23 p.m.

Как в QML использовать XmlListModel ?

Добрый день.
Как в QML использовать XmlListModel ?
Сделал такой код, но он ничего не показывает на дисплее.
appCore.testXml() - возвражает XML код.

import QtQuick 2.12
import QtQuick.XmlListModel 2.12
import QtQuick.Controls 2.12

Item {
width: 400
height: 700

XmlListModel {
    id: xmlModel

    source: appCore.testXml()//"http://www.mysite.com/feed.xml"
    //query: "/rss/channel/item"

   // XmlRole { name: "title"; query: "title/string()" }
   // XmlRole { name: "pubDate"; query: "pubDate/string()" }
}

ListView {
    id: testListView
    anchors.fill: parent
    model: xmlModel
    delegate: Text { text: "testListView: " }
}
}
2

Do you like it? Share on social networks!

4
Evgenii Legotckoi
  • Aug. 7, 2019, 12:15 a.m.
  • The answer was marked as a solution.

Добрый день.

Вот такой код работает

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.XmlListModel 2.0

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    XmlListModel {
        id: xmlModel
        source: "https://evileg.com/ru/feed/"
        query: "/rss/channel/item"

        XmlRole { name: "title"; query: "title/string()" }
        XmlRole { name: "pubDate"; query: "pubDate/string()" }
    }

    ListView {
        anchors.fill: parent
        model: xmlModel
        delegate: Text { text: title + ": " + pubDate }
    }
}

Касательно вашего кода, нужен пример того, что возвращает ваш метод appCore.testXml() . Предполагаю, что у вас просто не правильно определена структура полей, которые вы пытаетесь извлекать. Можете привести то, что возвращает данный метод?

    Михаиллл
    • Aug. 7, 2019, 1:28 a.m.

    Спасибо, но не могу пометить ответ как решение.

      Evgenii Legotckoi
      • Aug. 7, 2019, 7:29 p.m.

      Покажите, что выдаёт appCore.testXml()

      Тогда смогу пояснить, как именно работает эта модель.

        Михаиллл
        • Aug. 7, 2019, 9:46 p.m.

        appCore.testXml() просто возвращает файл с XML. Спасибо разобрался. Но на этом сайте на этос странице пропала кнопка отмечания ответа как "решение".

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 24, 2025, 12:04 p.m.
            UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
          • Evgenii Legotckoi
            April 16, 2025, 5:08 p.m.
            Благодарю за отзыв. И вам желаю всяческих успехов!
          • IscanderChe
            April 12, 2025, 5:12 p.m.
            Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…