VC++ 如何操作XML的报文?包括封包和解包
VC++中用Socket通讯,现在如何发送XML的数据,并如何分析?有现成的类吗?
[解决办法]
首先要确定协议比如,包头(数据包长度,命令字,状态字,序号等字段)+包体(xml缓冲区)。
包头长度固定,发送和接受数据包和通常的发送接收代码一样。
主要是发送时构造一个包体(即xml字符流),可以使用msxml4.0来构造xml字符流;
接收是,使用msxml4.0来解析包体中的xml字符流,查找出需要的字段
xml格式的制定,和平常编程中结构体字段的制定是等价的
[解决办法]
msxml4.0里边含有示例代码,很容易构造和解析一个xml字符流,另外还有很多跨平台的xml解析器。
[解决办法]
apache 下的开源项目Xerces-C++ Parser
gnome 下的libxml
都是跨平台的,我没有用过
CMarkupSTL十个小巧的xml parser,用起来很简单