将模型 class 转换为 XML

Converting model class to XML

我在 vb.net 中有下一个 class:

Class A 
    Public Property Bs As New List(Of B)
End Class

Class B
    Public Property D As String
    Public Property E As String
End class

我希望使用下一个代码将它们转换为 xml:

Dim sw1 = New StringWriter()
Dim xs1 As New XmlSerializer(A.GetType)
xs1.Serialize(New XmlTextWriter(sw1), A)
xml = xml.Replace("{1}", sw1.ToString())

classes 的格式为:

<A>
  <Bs>
    <B>
      <D>1</D>
      <E>2</E>
    </B>
    <B>
      <D>3</D>
      <E>2</E>
    </B>
</Bs>
</A>

但我希望有下一个:

<A>
    <B>
      <D>1</D>
      <E>2</E>
    </B>
    <B>
      <D>3</D>
      <E>2</E>
    </B>
</A>

没有标签 Bs,我如何在 class 中使用 XmlElement 或 XArray...来做到这一点?

您应该可以通过将 XmlElement attribute 应用于您的列表来实现此行为,忽略 XmlArrayXmlArrayItem:

Class A
    <XmlElement("B")> _
    Public Property Bs As New List(Of B)
End Class