VB.net解析XML(属性)数据
大家好这是我第一次来这里 从xml文件中获取数据时遇到问题 VB代码是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 =
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