Михаиллл
МихаилллТам. 4, 2019, 2:23 Т.Ж.

Как в 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: " }
}
}
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

4
Evgenii Legotckoi
  • Там. 6, 2019, 2:15 Т.Қ.
  • Жауап шешім ретінде белгіленді.

Добрый день.

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

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() . Предполагаю, что у вас просто не правильно определена структура полей, которые вы пытаетесь извлекать. Можете привести то, что возвращает данный метод?

    Михаиллл
    • Там. 6, 2019, 3:28 Т.Қ.

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

      Evgenii Legotckoi
      • Там. 7, 2019, 9:29 Т.Ж.

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

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

        Михаиллл
        • Там. 7, 2019, 11:46 Т.Ж.

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

          Пікірлер

          Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
          Кіріңіз немесе Тіркеліңіз
          OI
          • Ora Iro
          • Жел. 24, 2024, 6:38 Т.Ж.

          C++ - Тест 001. Первая программа и типы данных

          • Нәтиже:40ұпай,
          • Бағалау ұпайлары-8
          AD

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Нәтиже:50ұпай,
          • Бағалау ұпайлары-4
          m
          • molni99
          • Қаз. 26, 2024, 1:37 Т.Ж.

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Нәтиже:80ұпай,
          • Бағалау ұпайлары4
          Соңғы пікірлер
          ИМ
          Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
          Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          Evgenii Legotckoi
          Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
          A
          ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
          Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
          ИМ
          Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
          Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
          d
          dblas5Шілде 5, 2024, 11:02 Т.Ж.
          QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
          Енді форумда талқылаңыз
          n
          nklyҚаң. 3, 2025, 2:52 Т.Ж.
          Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
          AW
          Ayden WatkinsҚаң. 2, 2025, 12:09 Т.Ж.
          Why Paying for a Research Paper Can Be a Smart Choice Writing a research paper can be a daunting task, especially when faced with tight deadlines, complex topics, or a lack of resources. For many students, paying for a research paper is a practical…
          p
          pimacontrols85Жел. 31, 2024, 9:39 Т.Ж.
          Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
          Donald Randolph
          Donald RandolphЖел. 30, 2024, 2:59 Т.Ж.
          Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
          Nirvana Yoga School
          Nirvana Yoga SchoolЖел. 30, 2024, 5:13 Т.Ж.
          OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…

          Бізді әлеуметтік желілерде бақылаңыз