C# 写列表<;对象>;使用元素和属性创建XML文件
我有以下课程:C# 写列表<;对象>;使用元素和属性创建XML文件,c#,xml,list,C#,Xml,List,我有以下课程: [XmlType("supervisor")] public class Supervisor { [XmlAttribute("id")] public string Id { set; get; } [XmlElement("Name")] public string Name { set; get; } [XmlElement("Contract")] public int Contracts { set; get; }
[XmlType("supervisor")]
public class Supervisor
{
[XmlAttribute("id")]
public string Id { set; get; }
[XmlElement("Name")]
public string Name { set; get; }
[XmlElement("Contract")]
public int Contracts { set; get; }
[XmlElement("Volume")]
public long Volume { set; get; }
[XmlElement("Average")]
public int Average { set; get; }
}
它从XML文件中读取:
<digital-sales xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<supervisor id="1236674">
<Name>Hiroki</Name>
<Contract>11</Contract>
<Volume>1036253</Volume>
<Average>94205</Average>
</supervisor>
<supervisor id="123459">
<Name>Ayumi</Name>
<Contract>5</Contract>
<Volume>626038</Volume>
<Average>125208</Average>
</supervisor> ...
</digital-sales>
事林广记
11
1036253
以下是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace ConsoleApplication98
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XmlReader reader = XmlReader.Create(FILENAME);
XmlSerializer serializer = new XmlSerializer(typeof(DigitalSales));
DigitalSales digitalSales = (DigitalSales)serializer.Deserialize(reader);
reader.Close();
XmlWriter writer = XmlWriter.Create(FILENAME);
serializer.Serialize(writer, digitalSales);
}
}
[XmlRoot("digital-sales")]
public class DigitalSales
{
[XmlElement("supervisor")]
public List<Supervisor> supervisor { get; set; }
}
[XmlRoot("supervisor")]
public class Supervisor
{
[XmlAttribute("id")]
public string Id { set; get; }
[XmlElement("Name")]
public string Name { set; get; }
[XmlElement("Contract")]
public int Contracts { set; get; }
[XmlElement("Volume")]
public long Volume { set; get; }
[XmlElement("Average")]
public int Average { set; get; }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Xml;
使用System.Xml.Serialization;
命名空间控制台应用程序98
{
班级计划
{
常量字符串文件名=@“c:\temp\test.xml”;
静态void Main(字符串[]参数)
{
XmlReader=XmlReader.Create(文件名);
XmlSerializer serializer=新的XmlSerializer(typeof(DigitalSales));
DigitalSales DigitalSales=(DigitalSales)序列化程序。反序列化(读取器);
reader.Close();
XmlWriter=XmlWriter.Create(文件名);
序列化器。序列化(编写器、数字销售);
}
}
[XmlRoot(“数字销售”)]
公营数码销售
{
[XmlElement(“主管”)]
公共列表管理器{get;set;}
}
[XmlRoot(“主管”)]
公营班主任
{
[XmlAttribute(“id”)]
公共字符串Id{set;get;}
[XmlElement(“名称”)]
公共字符串名称{set;get;}
[XmlElement(“合同”)]
公共int契约{set;get;}
[XmlElement(“卷”)]
公共长卷{set;get;}
[XmlElement(“平均值”)]
公共整数平均值{set;get;}
}
}
在xml的根级别不能有数组(它被认为是格式良好的)。简单地序列化digital sales类将自动创建与反序列化相同的结构。您可以分享一个示例吗。我不熟悉语法