如何使用C#在XML文件中存储多个用户的数据而不覆盖 [英] How to store multiple user's data in XML file using C# without overwrite
本文介绍了如何使用C#在XML文件中存储多个用户的数据而不覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,我想使用c#将用户的多个数据存储在xml中,但是当用户只提供多个数据时,最后的数据会存储到xml文件中。它被覆盖在现有记录上。我该怎么做才能存储多个用户的数据?
所以请帮我们解决这个问题。
我有什么试过:
Hi, everyone I want to store user's multiple data in xml using c# but when user gives Multiple data only the last data is stored to the xml file. It's overwritten on existance record. What can I do to store multiple user's data ??
So help me guys to solve this problem.
What I have tried:
using System;
using System.Xml;
namespace ReadingXML2
{
class Class1
{
static void Main(string[] args)
{
string name, name1;
int num, i;
Console.Write("Number Of Student Details = ");
num = Convert.ToInt16(Console.ReadLine());
for (i=0; i < num; i++)
{
Console.Write("Name = ");
name = Console.ReadLine();
Console.Write("College Name : ");
name1 = Console.ReadLine();
XmlTextWriter writer = new XmlTextWriter("C:\\Documents\\File\\sample.xml", null);
writer.WriteStartDocument();
writer.WriteStartElement("log");
writer.WriteStartElement("data");
writer.WriteStartElement("Name");
writer.WriteString("" + name);
writer.WriteEndElement();
writer.WriteStartElement("CollegeName");
writer.WriteString("" + name1);
writer.WriteEndDocument();
writer.Close();
Console.ReadLine();
}
}
}
}
推荐答案
它可能会更容易使用BindingList
并序列化为XML。
这是一个很好的例子:详细的数据绑定教程 [ ^ ]
如果您需要有关序列化为XML的信息,请参阅: [ ^ ]
示例:
It would probably be easier to use aBindingList
and serialize to XML.
Here is an excellent example: A Detailed Data Binding Tutorial[^]
If you want information about serializing to XML, see: [^]
Example:
using System.Xml.Serialization;
public static void TestSerialization()
{
myClass person = new myClass();
List<myClass> listStr = new List<myClass>();
listStr.Add(person);
// listStr.Add(new myClass() { Check = true, Group = "GroupTwo" });
var x = new XmlSerializer(listStr.GetType());
using (var strWriter = new StringWriter())
{
x.Serialize(strWriter, listStr);
File.WriteAllText("test.xml", strWriter.ToString());
}
}
using System;
using System.Xml;
namespace ReadingXML2
{
class Class1
{
static void Main(string[] args)
{
string name, name1;
int num, i;
Console.Write("Number Of Student Details = ");
num = Convert.ToInt16(Console.ReadLine());
using (XmlTextWriter writer = new XmlTextWriter("C:\\Documents\\File\\file.xml", null))
{
writer.WriteStartDocument();
writer.WriteStartElement("log");
for (i = 0; i < num; i++)
{
Console.Write("Name = ");
name = Console.ReadLine();
Console.Write("College Name : ");
name1 = Console.ReadLine();
writer.WriteStartElement("data");
writer.WriteStartElement("Name");
writer.WriteString(name);
writer.WriteEndElement();
writer.WriteStartElement("CollegeName");
writer.WriteString(name1);
writer.WriteEndElement();
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
}
}
}
这篇关于如何使用C#在XML文件中存储多个用户的数据而不覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文