在哪里可以找到关于对象的XMl序列化的好教程? 谢谢。C#中的XML序列化
回答
serilized的方式有上Microsoft's support pages一个基本的教程和他们的代码示例是只有几行一些线索:
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
基本上,除了调用为您完成所有辛苦工作的内置函数之外,您不需要任何其他任何东西。
MSDN有关于它的一个体面的文章:http://msdn.microsoft.com/en-us/library/ms733901.aspx
而这一次有点更直截了当:http://www.dotnetjohn.com/articles.aspx?articleid=173
这里有一个良好的开端microsoft
还应考虑XML Schema和与xsd.exe自动生成类越早熟悉这一点越好,这可以为您节省使用XML的大量工作。也期待在生成的C#文件提供了关于如何使用属性来操纵类由XmlSerializer
它真的很简单,只有三个主要步骤。
- 您需要用
[Serializable]
属性标记您的类。 - 写序列化代码
- 写反序列码
连载:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();
反序列化:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
您可以轻松地找到有关的使用.net序列数据很多教程网页。然而,让我提醒几点:系列化的
类型:
一个。 XML序列化:请看看http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
b。二进制序列化:请参考http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
另请注意当您使用文件工作(读写数据)时的安全问题。这里有一个很好的教程http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
我们使用序列化以二进制格式和IN XML格式写入数据。用于二进制格式的 我们使用BibnaryFormatSerialization,而对于XML格式,我们使用SoapFormatSerialization。
- 1. C#中的Xml序列化#
- 2. 的XML C#XML序列化
- 3. 在C#中序列化XML#
- 4. 在C#中序列化XML#
- 5. C#XML序列化
- 6. C#XML序列化
- 7. C#+ XML序列化
- 8. Xml序列化c#
- 9. C#XML序列化
- 10. C#XML序列化
- 11. C#XML序列化
- 12. C#XML序列化/反序列化
- 13. C#Xml序列化和反序列化
- 14. C#XML序列化/反序列化
- 15. XML序列化阵列C#
- 16. C#阵列XML序列化
- 17. Silverlight的C#XML序列化
- 18. 如何在c中反序列化/序列化Microlife的xml#
- 19. C++中的XML序列化/反序列化
- 20. C++中的XML序列化/反序列化
- 21. C#中的XML反序列化#
- 22. C++中的xml反序列化
- 23. 在UWP中的C#XML序列化
- 24. C#中的反序列化XML#
- 25. C#XML序列化属性
- 26. C#XML序列化错误
- 27. C#反序列化XML
- 28. C#XML序列化XmlAttribute
- 29. C#XML反序列化
- 30. C#XML序列化问题
对于XML序列化,[Serializable]属性不是必需的。二进制序列化需要[Serializable]属性。 – Xenan 2011-08-30 08:44:31
@Xenan +1提到'[Serializable]对于XML序列化来说是多余的 – 2014-11-05 08:47:43