私は試したリスト、配列、そしてすべての異なるタイプを持っています
うまくシリアル化されているアイテムのリストがあります
C#で
public mySortableBindingList<Item> TransactionLines = new mySortableBindingList<Item>();
vb.netで
Public WithEvents TransactionLines As New mySortableBindingList(Of Item)
xml出力は
<TransactionLines>
<Item>
<elements>
</item>
<Item>
<elements>
</item>
</TransactionLines>
私のセリリゼーション方法は次のとおりです
C#では
public string SerializeToXML<T>(T obj)
{
string XMLString = "";
try {
XmlSerializer mySerializer = new XmlSerializer(obj.GetType());
using (MemoryStream myMemStream = new MemoryStream()) {
mySerializer.Serialize(myMemStream, obj);
myMemStream.SeekToBegin();
XMLString = myMemStream.ReadToEnd(Encoding.UTF8);
}
} catch (Exception ex) {
}
return XMLString;
}
vb.netで
Public Function SerializeToXML(Of T)(ByVal obj As T) As String
Dim XMLString As String = ""
Try
Dim mySerializer As XmlSerializer = New XmlSerializer(obj.GetType)
Using myMemStream As MemoryStream = New MemoryStream()
mySerializer.Serialize(myMemStream, obj)
myMemStream.SeekToBegin()
XMLString = myMemStream.ReadToEnd(Encoding.UTF8)
End Using
Catch ex As Exception
End Try
Return XMLString
End Function
シリアル化するリスト
c#
[XmlElement(Order = 17)]
public mySortableBindingList<ItemSerial> Serials = new mySortableBindingList<ItemSerial>();
vb.net
<XmlElement(Order:=17)>
Public Serials As New mySortableBindingList(Of ItemSerial)
これは私のxml出力です
<Serials>
<Serial>A</Serial>
<ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
<Qty>1</Qty>
</Serials>
<Serials>
<Serial>B</Serial>
<ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
<Qty>1</Qty>
</Serials>
私は次のことが必要です私が間違っていることができることを説明してください
<Serials>
<ItemSerial>
<Serial>A</Serial>
<ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
<Qty>1</Qty>
</ItemSerial>
<ItemSerial>
<Serial>B</Serial>
<ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
<Qty>1</Qty>
</ItemSerial>
</Serials>