Десериализовать XML с несколькими таблицами в список - PullRequest
0 голосов
/ 11 июля 2019

У меня следующий код найден в интернете. У меня есть следующий XML (компания была добавлена), но оригинальный XML был только с таблицей цитат.

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfQuote xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Quote>
    <QuoteText>Hello World</QuoteText>
    <Author>Unknown</Author>
    <Category>Some Category</Category>
    <QuoteDate>0001-01-01T00:00:00</QuoteDate>
</Quote>

<Quote>
    <QuoteText>Foo Bar</QuoteText>
    <Author>Somebody Else</Author>
    <Category>Some Other Category</Category>
    <QuoteDate>9999-12-31T23:59:59.9999999</QuoteDate>
</Quote>

<Company>
    <Name>Name1</Name>
    <City>Unknown</City>
    <Zip>34354</Zip>
</Company>

<Company>
    <Name>Name2</Name>
    <City>Unknown</City>
    <Zip>5656</Zip>
</Company>

</ArrayOfQuote>

И у меня есть следующие коды в vb.net

Public _Quote As List(Of Quote)
Public _Company As List(Of Company)

Sub Deserialize(filePath As String) As List(Of Quote)    

    Using sr As New StreamReader(filePath)
        Dim serializer As New XmlSerializer(GetType(List(Of Quote)))
       _Quote = CType(serializer.Deserialize(sr), List(Of Quote))
    End Using

End Sub

<Serializable()>
Public Class Quote
    Public Property QuoteText As String
    Public Property Author As String
    Public Property Category As String
    Public Property QuoteDate As DateTime
End Class

<Serializable()>
Public Class Company
    Public Property Name As String
    Public Property City As String
    Public Property Zip As Integer
End Class

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

...