0

我正在为几项运动创建一个计分程序。您可以创建玩家资料并跟踪您的职业生涯。当您创建职业时,它会自动创建一个 XML 文档,如下所示:

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

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


如何用 XML 信息填充 BoxList?

一个列表元素对应一个播放器(所以一个 XML 文件)。以及姓名、家乡和分数的 3 列。

4

1 回答 1

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"
于 2012-07-23T13:41:08.133 回答