C# 在序列化期间为属性的数据类型提供别名

C# 在序列化期间为属性的数据类型提供别名,c#,C#,我有一个类需要在C中使用XMLserializer进行序列化# 您提到使用XMLSerializer,但您使用的是DataContractSerializer的属性。如果您坚持使用XMLSerializer,那就太简单了 class Program { static void Main(string[] args) { X x = new X(); x.CodeList = new List<string>() {"test", "te

我有一个类需要在C中使用XMLserializer进行序列化#


您提到使用
XMLSerializer
,但您使用的是
DataContractSerializer
的属性。如果您坚持使用
XMLSerializer
,那就太简单了

class Program
{
    static void Main(string[] args)
    {
        X x = new X();
        x.CodeList = new List<string>() {"test", "test1"};
        var xml = new XmlSerializer(typeof (X));
        TextWriter writer = new StreamWriter("test.xml");
        xml.Serialize(writer,x);
        writer.Close();
    }
}

public class X
{
    [XmlArrayItem("Code")]
    public List<string> CodeList { get; set; } 
}

@Sunil我很高兴它起作用了。如果你认为我的回答解决了你的问题,请将其标记为接受
<CodeList>
<string>asd</string>
<string>cvb</string>
</CodeList>
<CodeList>
<Code>asd</Code>
<Code>cvb</Code>
</CodeList>
class Program
{
    static void Main(string[] args)
    {
        X x = new X();
        x.CodeList = new List<string>() {"test", "test1"};
        var xml = new XmlSerializer(typeof (X));
        TextWriter writer = new StreamWriter("test.xml");
        xml.Serialize(writer,x);
        writer.Close();
    }
}

public class X
{
    [XmlArrayItem("Code")]
    public List<string> CodeList { get; set; } 
}
<?xml version="1.0" encoding="utf-8"?>
<X xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <CodeList>
    <Code>test</Code>
    <Code>test1</Code>
  </CodeList>
</X>