0

我有许多嵌套类的基类 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();

有人可以帮我这样做吗?这个类太大了,手动完成。从那个类我需要创建各种代码,所以在生成代码的过程中我需要省略某些属性。

4

0 回答 0