繁体   English   中英

列表视图未在vb.net中更新

[英]List view not updating in vb.net

我正在尝试使用VB.net将来自Web服务的播放列表信息显示到列表视图对象中

我设法从服务中获取XML,并将其转换为Strings,并创建了一个循环以将信息输入列表视图。 问题在于它总是多次从第一首歌曲输入信息

在此处输入图片说明 Web服务的结果如下所示

在此处输入图片说明

for循环内部的控制台日志为:

<name>Test Song one</name><artist>The tested</artist><album>To test</album>
<name>Test two</name><artist>the Tested</artist><album>To test</album>
<name>Test 3</name><artist>Tested</artist><album>To test</album>

这是此方法的代码:

        serviceReturn = service.getList(txtPlaylist.Text)
        MessageBox.Show(serviceReturn)
        Dim doc As New XmlDocument

        Dim result As XmlElement = doc.CreateElement("playlist")
        result.InnerXml = serviceReturn
        Dim lstName As XmlNode = result.SelectSingleNode("/name")

        Dim results As XmlNodeList
        results = result.GetElementsByTagName("song")
        lstSong.Items.Add(lstName.InnerText)
        Dim songNod As XmlNode
        Dim listName As ListViewItem
        For Each songNod In results
            listName = New ListViewItem
            Console.WriteLine(songNod.InnerXml)
            Dim lstSongName As XmlNode = songNod.SelectSingleNode("/song/name")
            Dim lstSongArtist As XmlNode = songNod.SelectSingleNode("/song/artist")
            Dim lstSongAlbum As XmlNode = songNod.SelectSingleNode("/song/album")

            listName = New ListViewItem(lstSongName.InnerText)
            listName.SubItems.Add(lstSongArtist.InnerText)
            listName.SubItems.Add(lstSongAlbum.InnerText)
            detailedView.Items.Add(listName)
            listName = Nothing
            lstSongName = Nothing
            lstSongArtist = Nothing
            lstSongAlbum = Nothing

        Next

谁能指出为什么每次都只打印第一首歌?

任何帮助,将不胜感激。

尝试以这种方式更改XPath表达式

    Dim lstSongName As XmlNode = songNod.SelectSingleNode("./name")
    Dim lstSongArtist As XmlNode = songNod.SelectSingleNode("./artist")
    Dim lstSongAlbum As XmlNode = songNod.SelectSingleNode("./album")

您需要引用当前节点,就像现在一样,您始终引用/playlist/song相同的第一个节点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM