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

时间:2014-09-19 07:34:31

标签: xml xsd xmlserializer

首先,感谢您抽出时间帮助我。我是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文件

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

我做了一些研究,并对可用的不同选项感到困惑,到目前为止还没有一个有效。请帮助!

1 个答案:

答案 0 :(得分:0)

很容易。 让我们走另一条路。

如果你是XML结构,那么使用xsd.exe为你的xml生成C#文件(你可以谷歌如何生成)

然后它只是使用您的C#类将其写入XML文件。