我在面试中被问到以下问题:
- 解释 XML 序列化。
我不知道 XML 序列化是什么。我查看了一些网站,但找不到任何(简短而清晰的)关于 XML 序列化的解释。
有人能解释一下 XML 序列化是什么吗?这会有所帮助,这样我就可以对 XML 序列化有一个清晰的了解,并准备好在被问到这个问题时充满信心地面对未来的面试。
假设您有这样的课程:
Public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int age { get; set; }
}
和这个类的一个对象是这样的:
Person Student = new Person();
Student.FirstName = "John";
Student.LastName = "Smith";
Student.age= 24;
然后当你 xml 序列化对象 Student。您将获得一个 XML 文件作为输出,其中包含以下内容:
<Person>
<FirstName>John</FirstName>
<LastName >Smith</LastName >
<age>24</age>
</Person>
您可以反序列化 XML 以获取原始对象作为输出。
所以这是类和 XML 之间的一种转换 BTW XML 文件通常是文本文件
要扩展 Youssef 的答案,您还可以通过执行以下操作来指定序列化 XML 的编写方式:
[XmlRoot("RootElementsName")]
Public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int age { get; set; }
}
这将产生如下 XML:
<RootElementsName>
<FirstName>John</FirstName>
<LastName >Smith</LastName >
<age>24</age>
</RootElementsName>
您可以在此处阅读有关各种 XML 修饰符的更多信息:http: //msdn.microsoft.com/en-us/library/e123c76w。
这意味着将对象转换为 XML 形式,以便它可以通过 HTTP 和其他传输协议进行传输,或者将其存储用于其他目的。XML
被认为是不同系统之间的数据传输格式(甚至以不同的语言开发)。您可以以 XML 格式将数据从一个应用程序发送到另一个应用程序。大多数 Web 服务以 XML 格式返回数据。各种客户端可以访问这些 web 服务方法,而不必担心 web 服务是用什么平台/语言编写的,因为它只是处理传入的数据的 XML 形式。
首先,我们需要了解为什么序列化在 C# 中很重要。当我们运行我们的 c# 应用程序时,我们将拥有 C# 对象。在某个时间点,您可能希望保留它,以便以后可以使用它。例如,如果您正在编写像 firefox 下载器这样的应用程序。当你关闭它时,如果你正在下载它,你可以用上次关闭的状态重新加载它。
因此,如果您想在硬盘中保留称为二进制序列化的状态。如果您想通过称为 xml 序列化的线路发送对象