Mat*_*lay 5 c# xml collections export
使用C#...我有一个小应用程序,它可以从类中创建对象,并将其添加到对象集合中,并且在显示集合中当前所选对象的某些值的过程中会做一些UI事情(使用WPF UI) 。因此,我想添加一种功能,使用户可以将其对象集合保存到文件中,以便下次运行应用程序时可以将其加载回去。
我猜想XML是一种显而易见的方法,但我对如何做一无所知。因此,如何将对象的集合导出或转储到xml文件,然后,也许更重要的是,然后我将如何将该XML文件读回我的应用程序以重新创建集合?
如果您决定使用 XML,那么 System.Runtime.Serialization就是您的朋友。
在我的一个测试应用程序中,我有时需要能够将对象序列化为 XML,以便我可以离线查看它。这是我使用的代码片段(没有以任何方式优化,只是有一天快速拼凑在一起,它已经按照我的需要工作了)。
public static string ObjectToXml<T>(T objectToSerialise)
{
StringWriter Output = new StringWriter(new StringBuilder());
XmlSerializer xs = new XmlSerializer(objectToSerialise.GetType());
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("MyNs", "http://www.someXmlNamespace/namespace1"); // add as many or few as you need
xs.Serialize(Output, objectToSerialise, ns);
return Output.ToString();
}
Run Code Online (Sandbox Code Playgroud)
之后,将数据喷射到文件中就很简单了。
注意:
我需要能够以字符串形式获取 XML 内容,以便我可以通过多种方式之一来持久化它。如果您需要的话,构建直接访问磁盘的方法也很容易。
虽然这对我有用,但您可能需要进行调整以满足您自己的需求。