从VB中的几个XML文件创建一个Box List

时间:2012-07-22 23:09:56

标签: xml vb.net list

我正在为几项运动创建一个评分计划。您可以创建玩家档案并跟踪您的职业生涯。创建职业生涯时,它会自动创建如下的XML文档:

<Data>
 <Player>
  <Name>Eve</Name>
  <Hometown>Serbia</Hometown>
  <Score>0</Score>
 </Player>
</Data>

每个玩家都有一个文档“Playername.xml”。 现在,我有一个BoxList,可以管理和查看所有玩家职业。


如何使用XML信息填充BoxList?

一个列表元素对应一个播放器(因此一个XML文件)。名称,家乡和分数的3列。

1 个答案:

答案 0 :(得分:0)

假设这是针对VB.NET并假设您将这些xml数据放在不同的字符串中,您可以执行以下操作,例如:

Dim xml1 As String = "<Data>" &  " <Player>" &  "  <Name>Eve</Name>" &  "  <Hometown>Serbia</Hometown>" &  "  <Score>0</Score>" &  " </Player>" &  "</Data>"
Dim xml2 As String = "<Data>" &  " <Player>" &  "  <Name>Ricardo</Name>" &  "  <Hometown>Armenia</Hometown>" &  "  <Score>9</Score>" &  " </Player>" &  "</Data>"

Dim doc As XDocument = XDocument.Load(New StringReader("<root>" & xml1 & xml2 & "</root>"))
Dim query = From c In doc.Descendants("Player") 
select  
        New Player With  {  .Name = c.Element("Name").Value, 
              .Hometown = c.Element("Hometown").Value,
              .Score = c.Element("Score").Value }

玩家在哪里:

Public Class Player
   Public Property Name As String 
    Public Property Hometown As String
    public Property Score as Integer
End Class

现在您已拥有集合中的所有内容,您可以使用listbox.DataSource=query;将其绑定到列表框

只需将lisbox.DisplayMember设置为Name类的Player属性即可:

listbox.DisplayMember="Name"