2

我在面试中被问到以下问题:

  • 解释 XML 序列化。

我不知道 XML 序列化是什么。我查看了一些网站,但找不到任何(简短而清晰的)关于 XML 序列化的解释。

有人能解释一下 XML 序列化是什么吗?这会有所帮助,这样我就可以对 XML 序列化有一个清晰的了解,并准备好在被问到这个问题时充满信心地面对未来的面试。

4

5 回答 5

3

假设您有这样的课程:

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 文件通常是文本文件

于 2012-07-23T16:31:20.347 回答
2

要扩展 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

于 2012-07-23T16:50:12.707 回答
2

这意味着将对象转换为 XML 形式,以便它可以通过 HTTP 和其他传输协议进行传输,或者将其存储用于其他目的。XML被认为是不同系统之间的数据传输格式(甚至以不同的语言开发)。您可以以 XML 格式将数据从一个应用程序发送到另一个应用程序。大多数 Web 服务以 XML 格式返回数据。各种客户端可以访问这些 web 服务方法,而不必担心 web 服务是用什么平台/语言编写的,因为它只是处理传入的数据的 XML 形式。

更多阅读:http: //msdn.microsoft.com/en-us/library/182eeyhh.aspx

于 2012-07-23T16:28:50.137 回答
1

维基百科上的定义差不多是这样:

序列化是将数据结构或对象状态转换为可以存储(例如,在文件或内存缓冲区中,或通过网络连接链路传输)并稍后在相同或另一个计算机环境中“复活”的格式的过程.

Xml序列化只是序列化Xml作为存储和传输格式。

于 2012-07-23T16:54:18.187 回答
0

首先,我们需要了解为什么序列化在 C# 中很重要。当我们运行我们的 c# 应用程序时,我们将拥有 C# 对象。在某个时间点,您可能希望保留它,以便以后可以使用它。例如,如果您正在编写像 firefox 下载器这样的应用程序。当你关闭它时,如果你正在下载它,你可以用上次关闭的状态重新加载它。

因此,如果您想在硬盘中保留称为二进制序列化的状态。如果您想通过称为 xml 序列化的线路发送对象

于 2012-07-23T16:58:29.430 回答