在linux下经常要进行socket通信,而数据流多采用目前流行的xml格式,这就会有两个用的比较多的功能: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*)强行转换也行。
注意:要保证xmlChar到xmlDocPtr转换的成功需要注意一个细节,那就是字符串必须是有用的数具体,类似于<?xml version="1.0" encoding="UTF-8"?>这样的头要去掉
<wbr></wbr>
本文介绍了在Linux环境下如何使用libxml2组件实现XML数据与字符串之间的转换,包括从xmlDocPtr到xmlChar以及从xmlChar到xmlDocPtr的转换过程,并提供具体的代码示例。
4474

被折叠的 条评论
为什么被折叠?



