【问题标题】:xml serialization of a List without a Class object没有 Class 对象的 List 的 xml 序列化
【发布时间】:2011-04-14 20:19:08
【问题描述】:

所以我对 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>

【问题讨论】:

  • 顺便说一句,SerializableAttribute 被 XML 序列化忽略。

标签: .net xml-serialization


【解决方案1】:

你需要使用

XmlSerializer Constructor (Type, XmlAttributeOverrides)

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

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

问题是通过指定类型来列出你的类的属性是未知的——它们只属于你的类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-12
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多