Конвертировать XML в список VB.Net - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь преобразовать мои XML-файлы в Список, чтобы использовать его в точности так, как показано в этом примере с полями со списком

https://www.dreamincode.net/forums/topic/377224-combobox-displaymember-and-valuemember-winforms/

Public Class Form1

Private _people As New List(Of Person)

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    _people.Add(New Person With {.FirstName = "Bob", .Age = 23, .NickName = "Bobby"})
    _people.Add(New Person With {.FirstName = "Fred", .Age = 24, .NickName = "Freddy"})


    cboPerson.DataSource = _people
    cboPerson.DisplayMember = "FirstName"
    cboPerson.ValueMember = "Age"

End Sub



Private Sub cboPerson_SelectionchangeCommitted(sender As Object, e As EventArgs) Handles cboPerson.SelectionchangeCommitted
    If cboPerson.SelectedIndex <> -1 Then
        MessageBox.Show(cboPerson.SelectedValue.ToString())
    End If
End Sub



Class Person
    Property FirstName As String
    Property Age As Integer
    Property NickName As String

End Class

В приведенном выше примере показано добавление сведений оЛюди вручную во время события загрузки.Я хочу использовать мои XMls в качестве источника данных, и в моем XML много разных таблиц.В настоящее время я храню все свои XML-файлы в одном каталоге и считываю их в набор данных и использую в качестве исходного списка.Теперь я хочу сделать это точно так же, но вместо данных я хочу использовать список, как показано в примере.

Структура XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Persons xmlns:xsi="http://www.XXX-sample.com/XMLSchema">

    <Person>
      <Name>Name1</Name>
      <Age>2</Age>
      <NickName>NcN1</NickName> 
    </Person>

    <Person>
      <Name>Name2</Name>
      <Age>20</Age>
      <NickName>NcN2</NickName> 
    </Person>

    <Location>
       <Location>Location1</Location>
       <Zip>2065</Zip>
       <City>NcN1</City> 
    </Location>

    <Location>
       <Location>Location2</Location>
       <Zip>2065</Zip>
       <City>NcN2</City> 
    </Location>

</Persons>

Я хочу, чтобы все мои таблицы были в XML (например, Person иРасположение) в список и из всех XML-файлов в каталоге.Любая помощь будет принята с благодарностью.Спасибо.

Я сделал что-то подобное, но я вижу только заголовки в моем обзоре данных

    Public _people As New List(Of Person)

    Dim deserializer As XmlSerializer = New XmlSerializer(GetType(Person))
    Dim reader As TextReader = New StreamReader("data.xml")
    Dim obj As Object = deserializer.Deserialize(reader)
    Dim XmlData As Person= CType(obj, Person)
    reader.Close()

    DataGridView1.DataSource = _people
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...