linux下用socket传送xml格式的文件方法

来源:互联网 发布:win10怎么查mac地址 编辑:程序博客网 时间:2024/04/29 17:55

总体思路,还是,xml->char ,然后char ->xml,主要是使用了libxml这个库。

1、接收端将收到的字符串转换成xml格式的数据;
2、发送端将xml格式的数据转换成字符串发送。

运用libxml2组件进行上述操作实际上是xmlDocPtr和xmlChar两种类型之间的转换。

1. xmlDocPtr -> xmlChar
xmlDocPtr doc;
xmlChar *xmlbuff;
int buffersize;
xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
2. xmlChar -> xmlDocPtr
xmlDocPtr doc;
char * cData;
doc = xmlParseMemory(docname, strlen(cData)+1);
怎样把xmlChar转换成char就无须多讲了,直接用(char*)强行转换也行。

http://blog.csdn.net/keyoflov/article/details/6884897

 

但是,注意!

这个xml文件,必须和可执行文件在同一个文件夹,或者使用相对路径。这个xml文件,进行传送时,是以这个gcc -o 生成的可执行文件的路径为相对路径。所以,即使你的client.c和xml在一个文件夹,也要使用相对可执行文件的路径。

0 0