C# 序列化自定义类c的一部分#

C# 序列化自定义类c的一部分#,c#,serialization,C#,Serialization,有没有一种方法可以在不序列化XML根的情况下序列化下面的类,我希望序列化从XMLArray开始 如果您需要更多信息,请告诉我 [XMLRoot] public class Customers { List<Customer> _Customers = new List<Customer>(); [XmlArray("Customers")] [XmlArrayItem("Customer")] public List<Custome

有没有一种方法可以在不序列化XML根的情况下序列化下面的类,我希望序列化从XMLArray开始

如果您需要更多信息,请告诉我

[XMLRoot]
public class Customers
{
    List<Customer> _Customers = new List<Customer>();

    [XmlArray("Customers")]
    [XmlArrayItem("Customer")]
    public List<Customer> Customers
    {
        get { return _Customers; }
        set { _Customers = value; }
    }  
}
public class Customer
{
     string _test1;
     string _test2;

    public string test1
    {
        get { return _test1; }
        set { _test1 = value; }
    }

    public string test2
    {
        get { return _test2; }
        set { _test2 = value; }
    }

}
[XMLRoot]
公共类客户
{
列表_客户=新列表();
[XmlArray(“客户”)]
[XmlArrayItem(“客户”)]
公开名单客户
{
获取{return\u Customers;}
设置{u Customers=value;}
}  
}
公共类客户
{
字符串_test1;
字符串测试2;
公共字符串test1
{
获取{return\u test1;}
设置{u test1=value;}
}
公共字符串测试2
{
获取{return\u test2;}
设置{u test2=value;}
}
}

XML文档需要某种类型的根元素。你只是不想让root成为客户吗?然后,不要将Customer类标记为XmlRoot,而是标记将包含客户列表的内容,即

class Program
{
    static void Main(string[] args)
    {
        Shop shop = new Shop()
        {
            Name = "Jack's Shop",
            Customers = new List<Customer>() 
            {  
                new Customer() { FirstName = "Maynard", LastName = "Keating" },
            }
        };

        XmlSerializer xmls = new XmlSerializer(typeof(Shop));

        using (FileStream fs = File.Create("JacksShop.xml"))
            xmls.Serialize(fs, shop);
    }
}

[XmlRoot]
public class Shop
{
    public string Name { get; set; }
    public List<Customer> Customers { get; set; }
}

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
类程序
{
静态void Main(字符串[]参数)
{
商店=新商店
{
Name=“杰克的商店”,
客户=新列表()
{  
新客户(){FirstName=“Maynard”,LastName=“Keating”},
}
};
XmlSerializer xmls=新的XmlSerializer(typeof(Shop));
使用(FileStream fs=File.Create(“jackshop.xml”))
序列化(fs,shop);
}
}
[XmlRoot]
公营商店
{
公共字符串名称{get;set;}
公共列表客户{get;set;}
}
公共类客户
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
}

为什么?是什么困扰着你?你必须序列化客户。客户而不是客户。