我目前正在开发一个C#应用程序,它必须将一些简单的对象序列化 给定的XML文件。
例如,这是一个简单的示例类...让我们说人类
public class Human
{
private XmlSerializer serializer = new XmlSerializer(typeof(Human));
public string name { get; set; }
public int age { get; set; }
public string country { get; set; }
public void Serialize()
{
StreamWriter stream = null;
try
{
stream = new StreamWriter("data.xml");
serializer.Serialize(stream, this);
stream.Close();
}
catch (Exception e)
{
if (stream != null)
{
stream.Close();
}
}
}
}
如果我实例化此类,请设置一些值,然后调用Serialize()
方法,
我的data.xml
文件将如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Human xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<name>Oscar</name>
<age>20</age>
<country>France</country>
</Human>
现在假设我有一个包含List
Human
的对象。序列化此对象将花费时间和资源,并将生成一个非常大的XML文件。
如果我不想编辑特定的人,或者只是添加一个新的List
,是否有办法只编辑/修改XML文件的一小部分?或者我是否必须重新序列化整个List并替换XML文件内容?
答案 0 :(得分:2)
XML并不是为这种操作而设计的。您的选择可能是:
不知道你的意思有多大&#34;大&#34;或者您的性能要求是什么,很难说哪种选择最合适 - 但我强烈建议您仔细考虑具体的实际要求是什么条款,并用最简单的选项测试它们。