Хотя XmlSerializer не может сериализовать многомерные массивы (String(,)
), он может сериализовать зубчатые массивы (String()()
). Поэтому, если вы хотите использовать «массив массивов строк» вместо «двумерного массива строк», вы можете использовать XmlSerializer.
Пример того, как сериализовать (импортирует System.Xml.Serialization
и System.IO
):
Dim myarray()() As String = { _
New String() {"some", "some"}, _
New String() {"some", "some"}}
Dim s As New XmlSerializer(GetType(String()()))
Dim stream As New StringWriter()
s.Serialize(stream, myarray)
Dim myString = stream.ToString()
myString
затем содержит:
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ArrayOfString>
<string>some</string>
<string>some</string>
</ArrayOfString>
<ArrayOfString>
<string>some</string>
<string>some</string>
</ArrayOfString>
</ArrayOfArrayOfString>
Аналогично, для десериализации вы можете использовать s.Deserialize
.