没有Class对象的List的xml序列化

时间:2011-04-14 20:19:08

标签: .net xml-serialization

所以我熟悉XmlArray属性,当我序列化一个类时它很有用,但是现在我的任务就是序列化一个类,一个Int的列表来确切

<Serializable()> _
Public Class InvoiceList

    <XmlArray("InvoiceList")> _
    <XmlArrayItem("InvoiceId")> _
    Public m_List As List(Of Integer)

如果我序列化整个类,别名效果很好但是如果我这样做

serializer = New XmlSerializer(m_List.GetType())
serializer.Serialize(stream, m_List)

我得到了

<ArrayOfInt>
    <int>

如何仅将属性应用于属性?

我正在寻找

<InvoiceList>
  <InvoiceId>

1 个答案:

答案 0 :(得分:0)

您需要使用

XmlSerializer Constructor (Type, XmlAttributeOverrides)

允许您指定xml属性,您可以使用示例类中的反射来读取它们 - 或者明确指定它们。

http://msdn.microsoft.com/en-us/library/bfaxz1a0.aspx

问题在于,通过指定类型来列出类的属性是未知的 - 它们只属于您的类