Разбор RSS в QML - PullRequest
       64

Разбор RSS в QML

2 голосов
/ 14 сентября 2011

Я хочу разобрать канал RSS с QML.

структура корма выглядит как

<channel>
<item>
<title>
</title>
<description>
</description>
<media:content url="http://someURLHere.com/avatar/somethingHere?s=96&#38;d=identicon&#38;r=G" medium="image">
</media:content>
</item>

Моя проблема с тегом media: content, как мне разобрать URL с QML в строку?

Ответы [ 2 ]

2 голосов
/ 16 сентября 2011

Невозможно добавить комментарий к ответу coyotte508, так что вот вместо этого: вам может понадобиться добавить пространство имен для «носителя», используя свойство namespaceDeclarations XmlListModel.Пример:

XmlListModel {
  ...
  namespaceDeclarations: "declare namespace media = 'http://put/the/path/here';"
  XmlRole { name: "url"; query: "media:content/@url/string()" }
}
0 голосов
/ 15 сентября 2011

См. http://doc.qt.nokia.com/4.7-snapshot/qml-xmllistmodel.html и http://doc.qt.nokia.com/4.7-snapshot/qml-xmlrole.html

В основном:

XmlModel {
  id: mymodel
  xml: "blabblabla" /* you can also use source: to read directly from the web */
  query: "/rss/channel/item/"

  XmlRole {
    name: "url"
    query: "media:content/@url/string()"
  }
}

И для его получения:

mymodel.get(0).url

Если у вас несколько каналови вы хотите получить URL для каждого, вы можете получить количество каналов с помощью mymodel.count и получить доступ к каждому из них с помощью mymodel.get (i).

...