C语言实现的XML解析器[2]

C语言实现的XML解析器[2],第1张

//////////////////////////////////////////////////// /// 说明 : 解析XML文件 返回XML的根节点 /// 参数 : /// : xml xml文件路径 [in] /// : buffer 供解析用的缓冲 [in] /// : buffer_len 缓冲大小(单位:字节) [in] /// : error_reason 执行出错时保存错误原因 [in] /// : root XML的根节点 [out] /// 返回 : 成功 返回 失败返回 /// 说明 : /// : 问 :供解析用的缓冲应该取多大比较合适呢? /// : 答 :供解析用的缓冲主要用来存放XML树 所以 buffer_len >= (XML文件的大小) * 即可 /// :

int mini_parse_xml (char* xml char* buffer int buffer_len char error_reason[ ] MINI_XML_NODE** root)

//////////////////////////////////////////////////// /// 说明 : 查找特定节点的子节点 /// 参数 : /// : father 父结点 [in] /// : name 子孩子节点名 [in] /// : child 子节点 [out]

int mini_find_child (MINI_XML_NODE* father char* name MINI_XML_NODE** child)

//////////////////////////////////////////////////// /// 说明 : 查找特定节点的属性值 /// 参数 : /// : node 节点 [in] /// : name 属性名 [in] /// : value 属性值 [out]

int mini_find_attribute (MINI_XML_NODE* node char* name char** value)

//////////////////////////////////////////////////// /// 说明 : 打印XML树 供调试用 int mini_print_tree (MINI_XML_NODE* root int layer)

#if defined (__cplusplus) || defined (c_plusplus) } #endif #endif

lishixinzhi/Article/program/net/201311/14908

把所有的数据当做一个字符串

收到数据后先strstr(buffer,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>")

如果返回的是NULL则表示没有这段 退出

buffer是你收到的数据起始地址


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12033447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存