Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net解析XML(属性)数据_Xml_Vb.net_Youtube - Fatal编程技术网

VB.net解析XML(属性)数据

VB.net解析XML(属性)数据,xml,vb.net,youtube,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 =

大家好这是我第一次来这里 从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文件在这个链接下可用

我想提取以下信息:

<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:东西和属性中摆脱出来。请帮帮我


谢谢

既然您使用的是XMLTextReader类,请检查该方法。

您应该使用来完成此类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