我如何读取一个XML文件,并把信息放在对象中?

问题描述 投票:0回答:1

我有一个函数,它可以将我在一个列表中的所有对象的信息写入一个XML文件中。

        public static void UpdateXML()
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            XmlWriter Writer = XmlWriter.Create("path", settings);
            Writer.WriteStartDocument();
            Writer.WriteStartElement("Accounts");
            foreach (var acc in Bank.Bankaccountlist)
            {
                Writer.WriteStartElement("Account");
                Writer.WriteAttributeString("ID", acc.id.ToString());
                Writer.WriteElementString("Name", acc.GetName());
                Writer.WriteElementString("Lastname", acc.GetLastname());
                Writer.WriteElementString("Balance", acc.GetBalance().ToString());
                Writer.WriteEndElement();
            }
            Writer.WriteEndElement();
            Writer.Flush();
            Writer.Close();
        }

现在,当程序被关闭时,所有的数据仍然在文件中。所以,当程序再次启动时,它应该再次创建所有的旧对象(创建一个 Account 对象会自动将其放入列表中)。)

谁能告诉我这是怎么做到的?

请注意 int iddouble balance.

c# xml object xmlreader
1个回答
0
投票

要根据你的实际解决方案给出答案,你应该用一个 XmlReader 对应 XmlWriter. 对于字符串以外的其他属性类型,你应该使用 Convert 或适当的 TryParse 的方法。但你可以看看 XmlSerializer 这正是针对你的用例。

https:/docs.microsoft.comen-usdotnetapisystem.xml.serialization.xmlserializer?view=netcore-3.1。


0
投票

你还必须将o jet的每个部分标记为xml属性,以便将对象序列化为xml。 然后你就可以在xml目录下的文件中循环并反序列化它们,使用xml阅读器。 我相信有一个nuget包可以帮助解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.