毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

qml中有什么简单一点的方法能实现xml上下级标签多个字符串同时显示呢

更新时间:2012-10-11:  来源:毕业论文

XML code<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
  <channel>
  <title>火影忍者</title>
  <item>
  <title>第一集</title>
  </item>
  <item>
  <title>第二集</title>
  </item>
  </channel>
</rss>

 


JScript code
                XmlListModel{
                    id:channels
                    source: "xx.xml"
                    query: "/rss/channel/item"
                    XmlRole{name:"tvname"; query:"title/string()" }//能通过代理(delegate)的Text能显示每个item下title,(如果有多个title则不能,需要加下标,很麻烦)
                }

图书管理系统设计

这种情况下如何显示上级标签的火影忍者呢?listview中delegate:item{ Text{ text:tvname } }


JScript code
               XmlListModel{
                    id:channels
                    source: "xx.xml"
                    query: "/rss/channel"
                    XmlRole{name:"tvname"; query:"title/string()"}  //能访问到火影忍者               }


如果要访问第一集第二集则需要 XmlRole{name:"name1"; query:"item[1]/title/string()"} 需要加下标才能访问第一集
XmlRole{name:"name2"; query:"item[2]/title/string()"} 需要改变name里面的别名和查询里面的下标才能访问第二集。
为了让每级标签的title都能显示,这个方法显然很繁琐。但第一个方法我想不到该如何查询“火影忍者”
方法2中的代理:
listview中delegate:item{ Text{ text:tvname }; Text{ text:name1 }; Text{ text:name2 }; } 注:这里只是简单写了一下代理,总之引用xmlrole方法是这样,繁琐得很。假如同级标签里有很多title,那不是还得逐一逐一的xmlrole,逐一逐一的Text??

思来想去,尝试了些方法都不行。所以又来向各路大哥来讨教一下了,谢谢了。在xmllistmodel中query设置好了查询路径之后,qml中有什么简单一点的方法能实现xml上下级标签多个字符串同时显示呢?
JScript code
query: "//title"

XmlRole {name: "tvname"; query: "./string()"}


XPath中约定:
“//” 表示从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
“.” 表示选取当前节点的内容

我顺便去学习了一下xpath,原来有很多访问数据方式。本想在一个xmllistmodel里面访问各级标签。而且xpath里面可以有多个查询路劲,通过一个“|”符号将路径链接。但在qml里面的情况似乎又不太一样。最后我还是用了另外的方法,针对不同级的标签,建立id和查询路劲各不相同的xmllistmodel,最后通过js来改变某个xmllistmodel的查询路径,来达到取不同的数据。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。