什么使xml序列化与发送为字符串不同?

时间:2013-08-19 15:54:59

标签: c++ xml xml-serialization

我试图找出在通过网络发送之前序列化xml文件的方法,但是徒劳无功。我可以通过读取xml内容,将其放入字符串并通过网络发送字符串并将内容写入另一端的xml文件来暂时完成任务。现在,它让我想知道xml-serialization和这个方法之间的主要区别是什么?

这个问题可能非常简单,但我仍然看不出原因。

2 个答案:

答案 0 :(得分:0)

XML序列化通常是获取XML文档并将其转换为字符串的过程,因此您可以执行诸如通过网络发送或将其写入文件等操作。 (从技术上讲,你可以用不同的方式对它进行序列化,但是当你想在系统之间交换文档时,将它变成一个字符串几乎就是你所做的事情)

因此,发送XML文档的序列化版本或发送已从其他地方获取的已经字符串化的文档版本应该没有太大的实际区别。

答案 1 :(得分:0)

我认为,序列化是将程序数据存储在RAM中的各种结构中并创建单个连续内存块的方法,其中包含足够的详细内容以重新创建所述结构。

然后可以通过网络轻松发送此内存块,保存到文件等。另一方面,我们现在可以将数据反序列化为原始结构。

序列化的内存块可能包含二进制数据(通常为ASN1形式)。或者,存储块可以是人类可读的字符串。 XML经常被用作适合通过网络传输的人类可读数据形式。

因此,当您说XML序列化时,我将此理解为将XML数据的二进制表示转换为适合保存到磁盘或通过网络传输的XML文档的过程。