如何在 C# xml 序列化中更改元素名称

本文关键字:元素 序列化 xml | 更新日期: 2023-09-27 18:30:51

我被定义了一个简单的类并序列化了它:

    public class Test
    {
        public string Name { set; get; }
    }

我锯齿化了这个简单的对象,代码是这样的:

                Test test = new Test();
                test.Name = "a";                    
                TextWriter writer = new StreamWriter(@"D:'a.xml");
                XmlSerializer s = new XmlSerializer(typeof(Test), "");
                s.Serialize(writer, test);
                writer.Close();

a.xml结果文件如下所示:

<Test xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">
  <Name>a</Name>
</Test>

没问题,但是现在我想要这样的xml节点内容(将默认元素名称(如:测试)更改为用户定义名称,无论名称是什么(如:作业调度数据)):

<job-scheduling-data xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">
  <Name>a</Name>
</job-scheduling-data>

我能做些什么来纠正它?我不希望我的类名像"作业调度数据"。

如何在 C# xml 序列化中更改元素名称

[XmlRoot(ElementName = "job-scheduling-data")]
public class Test
{
    public string Name { set; get; }
}

您可以查看此 MSDN 页面。