我有一个C#对象,需要将其更改为XML。
我的C#对象看起来像这样。
public class XmlModel
{
public string NodeName { get; set; }
public int NodeId { get; set; }
public int ParentId { get; set; }
public string NodeValue { get; set; }
}
我有一个这样的对象列表。
NodeName : "Parent" , NodeId : "1" , ParentId:"0" NodeValue=""
NodeName : "Child" , NodeId : "2" , ParentId:"1" NodeValue=""
NodeName : "Name" , NodeId : "4" , ParentId:"3" NodeValue="Person Name"
NodeName : "LastName" , NodeId : "5" , ParentId:"3" NodeValue="Last Name"
NodeName : "Contact" , NodeId : "3" , ParentId:"2" NodeValue="54565465"
NodeName : "Child" , NodeId : "6" , ParentId:"1" NodeValue=""
NodeName : "Address" , NodeId : "7" , ParentId:"6" NodeValue=""
NodeName : "Home" , NodeId : "8" , ParentId:"7" NodeValue="Home Address"
NodeName : "Office" , NodeId : "9" , ParentId:"7" NodeValue="Address"
现在,我需要使用XDocument
和XElement
创建一个XML文件。
答案 0 :(得分:0)
您必须使用XmlSerializer进行XML序列化。下面是一个示例片段。
XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject));
var subReq = new MyObject();
var xml = "";
using(var sww = new StringWriter())
{
using(XmlWriter writer = XmlWriter.Create(sww))
{
xsSubmit.Serialize(writer, subReq);
xml = sww.ToString(); // Your XML
}
}