使用c#生成xml文件



我想使用c#中的序列化生成一个xml文件。我是这门语言的新手。所以请给个提示。

我的xml文件的内容为-

<Employees>
<Employee>
<Emp id="1" name="Ajay" salary="20000"></Emp>
<Emp id="2" name="Vinay" salary="25000"></Emp>
<Emp id="3" name="Jay" salary="23000"></Emp>
</Employee>
</Employees>

定义与预期xml文本匹配的POCO(下面的示例(

public class Employees
{
[XmlArray("Employee")]
[XmlArrayItem(typeof(Emp), ElementName="Emp")]
public Emp[] Emps { get; set; }
}
public class Emp
{
[XmlAttribute("id")]
public int Id { get; set; }
[XmlAttribute("name")]
public string Name { get; set; }
[XmlAttribute("salary")]
public string Salary { get; set; }
}

然后构造对象并使用XmlSerialier将它们序列化

public static void SerializeXml()
{
Employees emps = new Employees()
{
Emps = new Emp[]
{
new Emp
{
Id = 1,
Name = "Ajay",
Salary = "23000",
}
}
};

XmlSerializer s = new XmlSerializer(typeof(Employees));

XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty); 

XmlWriterSettings settings = new XmlWriterSettings
{
Indent = true,
OmitXmlDeclaration = true
};
StringBuilder sb = new StringBuilder();
TextWriter w = new StringWriter(sb);
using (var writer = XmlWriter.Create(w, settings))
{
s.Serialize(writer, emps, namespaces);
}       

Console.WriteLine(sb.ToString());
} 

样品小提琴:https://dotnetfiddle.net/c4nMwr

最新更新