在通过网络发送之前,我试图找出序列化 xml 文件的方法,但徒劳无功。我可以通过读取 xml 内容来临时完成任务,将其放入字符串中并通过网络发送字符串并将内容写入另一端的 xml 文件。现在,这让我想知道 xml-serialization 和这种方法之间的主要区别是什么?
这个问题可能很琐碎,但我仍然看不到原因。
在通过网络发送之前,我试图找出序列化 xml 文件的方法,但徒劳无功。我可以通过读取 xml 内容来临时完成任务,将其放入字符串中并通过网络发送字符串并将内容写入另一端的 xml 文件。现在,这让我想知道 xml-serialization 和这种方法之间的主要区别是什么?
这个问题可能很琐碎,但我仍然看不到原因。
我认为,序列化是将程序数据存储在 RAM 中的各种结构中并创建具有足够详细内容的单个连续内存块来重新创建所述结构的方法。
这个内存块可以很容易地通过网络发送,保存到文件等。在另一端,我们现在可以将数据反序列化回原始结构。
序列化的内存块可能包含二进制数据(通常是ASN1形式)。或者,存储块可以是人类可读的字符串。XML 经常被用作适合通过网络传输的人类可读的数据形式。
出于这个原因,当您说 XML 序列化时,我将其理解为将 XML 数据的二进制表示并将其转换为适合保存到磁盘或通过网络传输的 XML 文档的过程。
XML 序列化通常是获取 XML 文档并将其转换为字符串的过程,以便您可以执行诸如通过网络发送或将其写入文件等操作。(从技术上讲,您可以用不同的方式对其进行序列化,但是当您想要在系统之间交换文档时,几乎总是将它变成一个字符串)
因此,发送您的 XML 文档的序列化版本或发送您从其他地方获得的已字符串化的文档版本应该没有太大的实际区别。