反序列化具有属性的项目数组

Deserializing array of items with attribute

我需要反序列化这个数据块

<colors>
    <color id='mnemonic1'>RRGGBB1</color>
    <color id='mnemonic2'>RRGGBB2</color>
    <color id='mnemonic3'>RRGGBB3</color>
    <color id='mnemonic4'>RRGGBB4</color>
</colors>

如果我定义这个

<XmlArray("colors")> <XmlArrayItem("color")> Public colors() As DefColor
..
Public Class DefColor
    <XmlAttribute("id")> Public id As String
    <XmlElement("color")> Public defColor As String
End Class

我可以读取 'id' 属性但不能读取 'color' 字符串。
如果我定义为:

<XmlArray("colors")><XmlArrayItem("color")> Public colors() As String

我只能读取 'color' 值。我怎样才能同时阅读两者?

你需要改变

<XmlElement("color")> Public defColor As String

<XmlText>Public defColor As String

里面的任何东西>(这里)<都是>(文本)<