我有许多嵌套类的基类 dlx10 有自己的嵌套等:
[System.Xml.Serialization.XmlRootAttribute("dlx")]
class dlx10 {
private car10[] carField;
private clock10[] clockField;
private device10[] deviceField;
...
[System.Xml.Serialization.XmlElementAttribute("car")]
public car10[] car {
get {
return this.carField;
}
set {
this.carField = value;
}
}
[System.Xml.Serialization.XmlElementAttribute("device")]
public device10[] device {
get {
return this.deviceField;
}
set {
this.deviceField = value;
}
}
...
}
class car10 {
door10[] doorField;
[System.Xml.Serialization.XmlElementAttribute("door")]
public door10[] door {
get {
return this.doorField;
}
set {
this.doorField = value;
}
}
}
class device10 {
private diag10[] diagField;
private dns10[] dnsField;
...
}
...
现在,我需要从这个类生成 XmlWriter c# 代码,我可以将其复制并粘贴到我的解决方案中。输出将是这样的:
writer.WriteStartElement("dlx");
writer.WriteAttributeString("vars", "1.0");
writer.WriteAttributeString("id", "133");
writer.WriteAttributeString("type", "system_info");
foreach (var d in devices)
{
writer.WriteStartElement("device");
writer.WriteAttributeString("software", d.Software);
foreach (var s in d.Sensors)
{
writer.WriteStartElement("sens");
writer.WriteAttributeString("name", s.Name);
foreach (var c in s.Channels)
{
writer.WriteStartElement("chan");
writer.WriteAttributeString("id", c.Id.ToString());
writer.WriteEndElement();
}
writer.WriteEndElement();
}
writer.WriteEndElement();
}
writer.WriteEndElement();
有人可以帮我这样做吗?这个类太大了,手动完成。从那个类我需要创建各种代码,所以在生成代码的过程中我需要省略某些属性。