我有一个课程如下:
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标记?我正在使用C#
答案 0 :(得分: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;
}
答案 1 :(得分:0)
我建议你不要手动创建xml,而是使用这个简单的代码序列化类:
XmlSerializer mySerializer = new XmlSerializer(objectToSerialize.GetType());
StreamWriter myWriter = new StreamWriter(myxml.xml);
mySerializer.Serialize(myWriter, objectToSerialize);
myWriter.Close();
在某些情况下,您应该将SerializableAttribute应用于您的班级。