Je suis complètement nouveau sur VB.NET et c'est probablement quelques étapes au-dessus de ma tête, mais j'ai réussi à aller aussi loin avec seulement Google.VB.NET: Arraylist d'objets, Listbox1_SelectedIndexChanged et Linking Values
Je lis un fichier XML et la création d'une liste de tableaux de classes pour les valeurs là-dedans, comme on le voit:
Public Class yresults
'Dim xdate As XmlNodeList = xDoc.GetElementsByTagName("Date")
'Dim link As XmlNodeList = xDoc.GetElementsByTagName("Link")
'Dim category As XmlNodeList = xDoc.GetElementsByTagName("Category")
'Dim UserNick As XmlNodeList = xDoc.GetElementsByTagName("UserNick")
'Dim numAnswers As XmlNodeList = xDoc.GetElementsByTagName("NumAnswers")
'Dim numComments As XmlNodeList = xDoc.GetElementsByTagName("NumComments")
'Dim subject As XmlNodeList = xDoc.GetElementsByTagName("Subject")
'Dim content As XmlNodeList = xDoc.GetElementsByTagName("Content")
Private mystrDate As String
Private mystrLink As String
Private mystrCat As String
Private mystrUser As String
Private mystrNA As String
Private mystrNC As String
Private mystrSubject As String
Private mystrContent As String
Public Sub New(ByVal strDate As String, ByVal strLink As String, ByVal strCat As String, ByVal strUser As String, ByVal strNA As String, ByVal strNC As String, ByVal strSubject As String, ByVal strContent As String)
MyBase.New()
Me.mystrDate = strDate
Me.mystrLink = strLink
Me.mystrCat = strCat
Me.mystrUser = strUser
Me.mystrNC = strNC
Me.mystrNA = strNA
Me.mystrSubject = strSubject
Me.mystrContent = strContent
End Sub
Public ReadOnly Property strDate() As String
Get
Return mystrDate
End Get
End Property
Public ReadOnly Property strLink() As String
Get
Return mystrLink
End Get
End Property
Public ReadOnly Property strUser() As String
Get
Return mystrUser
End Get
End Property
Public ReadOnly Property strNA() As String
Get
Return mystrNA
End Get
End Property
Public ReadOnly Property strNC() As String
Get
Return mystrNC
End Get
End Property
Public ReadOnly Property strSubject() As String
Get
Return mystrSubject
End Get
End Property
Public ReadOnly Property strContent() As String
Get
Return mystrContent
End Get
End Property
Public Structure arc
Public strDate As String
Public strLink As String
Public strCat As String
Public strUser As String
Public strNA As String
Public strNC As String
Public strSubject As String
Public strContent As String
End Structure
End Class
et ...
Dim cntr As Integer = 0
While cntr < link.Count
yresults.Add(New Yresults(xdate(cntr).InnerText.ToString, link(cntr).InnerText.ToString, category(cntr).InnerText.ToString, UserNick(cntr).InnerText.ToString, numAnswers(cntr).InnerText.ToString, numComments(cntr).InnerText.ToString, subject(cntr).InnerText.ToString, content(cntr).InnerText.ToString))
cntr += 1
End While
Ainsi, le arraylist « yresults "est peuplé avec des classes" yresults ", qui ont des valeurs de strdate, strlink, etc. etc
Comment puis-je parcourir cette liste de tableau, et de comparer yresults" strSubject "champ à listbox1.selectedval ue? Après avoir appris comment faire cela, je devrais être capable de scanner le tableau et d'obtenir d'autres données dont j'ai besoin (en particulier strLink).
Le code que j'ai maintenant fonctionne, mais je ne sais pas comment procéder à partir d'ici. J'apprécierais une poussée douce (ou shove) dans la bonne direction.
Quelle serait l'utilisation appropriée d'un arraylist alors? –
@The Admiral - ArrayList existe maintenant principalement pour la rétrocompatibilité avec le code d'avant .Net 2.0, lorsque les génériques ont été introduits. Il n'y a pas d'autre bonne raison de l'utiliser. –
Merci Joel. Je ne suis pas un développeur Windows natif (développement basé sur PHP/Web), et c'est un projet à court terme (développé à partir d'un besoin de mon propre). Y a-t-il un problème avec la façon dont j'ai lu les données XML? Je suis juste allé avec l'instinct et cela a fonctionné ... –