Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 写列表<;对象>;使用元素和属性创建XML文件_C#_Xml_List - Fatal编程技术网

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类将自动创建与反序列化相同的结构。您可以分享一个示例吗。我不熟悉语法