使用IntermediateSerializer,如何反序列化对象中的列表?

时间:2012-08-21 22:33:13

标签: c# xml xna

比方说,这是我的班级......

public class DoodadData
{
    public List<Color> colorVariations;
}

...这是我正在反序列化的XML数据......

<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
    <Asset Type="Data.DoodadData">
        <colorVariations>
            <Item>
                <R>0</R>
                <G>0</G>
                <B>0</B>
                <A>0</A>
            </Item>
        </colorVariations>
    </Asset>
</XnaContent>

我需要改变一些东西才能让它发挥作用吗? MSVC给我的错误说......

“反序列化中间XML时出错。'Element'是无效的XmlNodeType。第20行,第5位。”

这指向了colorVariations列表中的第一个“Item”标签。我在Google上找到的所有内容都告诉我,在使用IntermediateSerializer时命名元素“Item”是正确的。我也试过命名它们“元素”和“颜色”无济于事。 (我也尝试过其他的东西,比如重命名RGBA属性,这也不起作用)。

1 个答案:

答案 0 :(得分:1)

在搞乱之后,我发现似乎需要以无标签和十六进制格式输入颜色,如下所示:

<colorVariations>
    FFFFFFFF
    FFFFFFFF
    FFFFFFFF
</colorVariations>