gpt4 book ai didi

c# - 将对象集合导出到 XML 文件

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:49 24 4
gpt4 key购买 nike

使用 C#...我有一个小应用程序,它从一个类中创建对象,并将它们添加到一个对象集合中,它会沿途执行一些 UI 操作以显示集合中当前选定对象的某些值(使用WPF 用户界面)。所以我想添加让用户将他的对象集合保存到文件中的功能,这样他们就可以在下次运行应用程序时将其加载回来。

我猜想 XML 是一种显而易见的方式,但我对如何去做一无所知。那么,如何将对象集合导出或转储到 xml 文件,然后,也许更重要的是,我如何将该 XML 文件读回我的应用程序以重新创建集合?

Here is a screenshot of the app

最佳答案

System.Runtime.Serialization是您的 friend ,如果您决定使用 XML。

在我的一个测试应用程序中,有时我需要能够将一个对象序列化为 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();
}

之后,将数据输出到文件中就很简单了。

注意事项:
我需要能够将 XML 内容作为字符串获取,以便我可以通过多种方式之一将其持久化。如果您需要的话,构建一种直接访问磁盘的方法也很容易。
虽然这对我有用,但您可能需要进行调整以满足自己的需求。

关于c# - 将对象集合导出到 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com