xml - VB.net解析XML(属性)youtube gdata

标签 xml vb.net youtube

大家好,这是我第一次来这里
我在从xml文件中获取一些数据时遇到问题

VB代码是

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    If (ComboBox1.Text = "") Then

        MessageBox.Show("No file name entered")

    Else


        Dim document As XmlReader = New XmlTextReader("http://gdata.youtube.com/feeds/api/users/kavvsona")

        While (document.Read())

            Dim type = document.NodeType

            If (type = XmlNodeType.Element) Then

                If (document.Name = "yt:statistics/viewCount") Then

                    xmlMyName.Visible = True
                    xmlMyName.Text = document.ReadInnerXml.ToString()

                End If

                If (document.Name = "yt:statistics/viewCount/") Then

                    xmlMyEmail.Visible = True
                    xmlMyEmail.Text = document.ReadInnerXml.ToString()

                End If

                If (document.Name = "viewCount") Then

                    xmlMyTel.Visible = True
                    xmlMyTel.Text = document.ReadInnerXml.ToString()

                End If

                If (document.Name = "Notes") Then

                    xmlMyNotes.Visible = True
                    xmlMyNotes.Text = document.ReadInnerXml.ToString()

                End If

            End If

        End While


    End If

End Sub

xml文件在此链接http://gdata.youtube.com/feeds/api/users/kavvsona下可用

我想提取以下信息:
<yt:statistics lastWebAccess='1970-01-01T00:00:00.000Z' subscriberCount='9574' videoWatchCount='0' viewCount='120873' totalUploadViews='2374024'/>
<media:thumbnail url='http://i1.ytimg.com/i/T1ybzRP4iTT7NU6qbhV24g/1.jpg?v=51064230'/><yt:username>kavvsona</yt:username>

我不知道如何从yt中获取它:事物和属性。请帮我

谢谢

最佳答案

您应将 XPath 用于这种XML解析任务:

Imports System.Xml.XPath
...
Dim nsManager As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
nsManager.AddNamespace("yt", "http://gdata.youtube.com/schemas/2007")

Dim xml As XDocument = XDocument.Load("http://gdata.youtube.com/feeds/api/users/kavvsona")
Dim statsElement As XElement = DirectCast(xml.XPathEvaluate("//yt:statistics", nsManager), IEnumerable).Cast(Of XElement)().Single()
Dim usernameElement As XElement = DirectCast(xml.XPathEvaluate("//yt:username", nsManager), IEnumerable).Cast(Of XElement)().Single()

Dim viewCount As Int32 = Int32.Parse(statsElement.Attribute("viewCount").Value)
Dim username As String = usernameElement.Value

MessageBox.Show(username & ": " & viewCount)

结果:
kavvsona: 120873

关于xml - VB.net解析XML(属性)youtube gdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17260049/

相关文章:

youtube - YouTube API v3 totalResults字段应返回1000000

jquery - 从 Fancybox 播放 Youtube 视频 onClosed 事件

xml - 我正在努力获取 xsl :element to output anything

html - 如何使用 css 将 xml 标签显示为列表?

vb.net - VS2015 : The components for communicating with FTP servers are not installed

javascript - iFrame 嵌入的 youtube 引用 api 未加载 iFrame

SQL 到 XML 到 XSLT 到 HTML,还是 SQL 到 HTML?

python - 如何使字段仅在 ODOO 中保存记录后才可编辑

Java日期检查帮助然后转换为VB.NET 2010

mysql - Crystal 报表公式创建vb.net mysql