使用带有元素和属性的XmlSerializer创建XML文件

使用带有元素和属性的XmlSerializer创建XML文件,xml,xsd,xmlserializer,Xml,Xsd,Xmlserializer,首先,我感谢你花时间帮助我。我是C#的新手,虽然我能解决大部分问题,但有些领域我确实很挣扎 我正在捕获SNMP陷阱,并希望将它们保存到XML文件中。我有以下课程: Public class data { public string id; public string name; public string OIDvalue; } 我想创建一个类似于以下内容的XML文件,该文件的id和oid数量可变 <?xml v

首先,我感谢你花时间帮助我。我是C#的新手,虽然我能解决大部分问题,但有些领域我确实很挣扎

我正在捕获SNMP陷阱,并希望将它们保存到XML文件中。我有以下课程:

   Public class data
    {
         public string id;
         public string name;
         public string OIDvalue;
    }
我想创建一个类似于以下内容的XML文件,该文件的id和oid数量可变

<?xml version="1.0"?>
<data>
    <devices>
        <device id="ID23213">
            <oids>
                <oid name="10.22.1213.212.2424" value="345"></oid>
                <oid name="10.22.1213.212.2424.244.22" value="test"></oid>
                <oid name="10.22.1213.212.2424.244.23" value="test1"></oid>
            </oids>
        </device>
        <device id="ID111">
            <oids>
                <oid name="10.22.1213.212.2424" value="38382"></oid>
                <oid name="10.22.1213.212.2424.244.22" value="twehjwe98"></oid>
                <oid name="10.22.1213.212.2424.244.23" value="uhu889"></oid>
                <oid name="textBased.Reference.Pointer" value="88889"></oid>
                <oid name="textBased.Reference.Pointer.10.111" value="0909"></oid>
            </oids>
        </device>
    </devices>
</data>
我已经做了相当多的研究,对不同的选择感到困惑,但到目前为止,没有一个有效。请帮忙

简单一点。 让我们换个方向走吧

如果您选择XML结构,那么使用xsd.exe为您的XML生成C#文件(您可以通过谷歌搜索如何生成)

然后使用C#类将其写入XML文件

XmlSerializer xs = new XmlSerializer(typeof(data));
using (FileStream fs = new FileStream(dataPath, FileMode.Create))
{
    xs.Serialize(fs, snmp);
}