0

我有一堂课如下:

public class ItemGroup
{
    public int type;
    public Item[] item;
}

public class Item
{
    public string name;
    public int category;
}

我想将 ItemGroup 转换成这样的 XML

<ItemGroup>
    <type>1</type>
    <Item>
        <name>HELLO</name>
        <category>1</category>
    </Item>
    <Item>
        <name>WORLD</name>
        <category>2</category>
    </Item>
</ItemGroup>

需要在类中指定什么 XML Tag?我正在使用 C#

4

2 回答 2

0

也许违反直觉,您只需要使用XmlElement属性。这指示您一个接一个XmlSerializer地构建Item集合,这将与您提供的规范相匹配。此外,您需要明确指定元素名称,因为您的字段是小写的“item”,但您希望拥有大写的“Item”。

public class ItemGroup
{
    public int type;

    [XmlElement("Item")]
    public Item[] item;
}

public class Item
{
    public string name;
    public int category;
}
于 2013-06-16T18:19:41.647 回答
0

我建议您不要手动创建 xml,而是使用以下简单代码序列化类:

     XmlSerializer mySerializer = new XmlSerializer(objectToSerialize.GetType());
     StreamWriter myWriter = new StreamWriter(myxml.xml);
     mySerializer.Serialize(myWriter, objectToSerialize);
     myWriter.Close();

在某些情况下,您应该将 SerializableAttribute 应用于您的类。

于 2013-06-16T18:23:19.100 回答