xml解析及编译汇总 valgrind检测内存泄露 http://blog.csdn.net/lifan5/article/details/8030285

xml解析及编译汇总

分类:c语言 1039人阅读 评论(0) 收藏 举报
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include<libxml/xmlmemory.h>
  5. #include<libxml/parser.h>
  6. #include<libxml/tree.h>
  7. void
  8. get_connnectrequestUrl(char*docname){
  9. xmlDocPtrdoc;
  10. xmlNodePtrcur;
  11. doc=xmlParseFile(docname);
  12. if(doc==NULL){
  13. printf("Documentnotparsedsuccessfully.\n");
  14. return;
  15. }
  16. cur=xmlDocGetRootElement(doc);
  17. if(cur==NULL){
  18. printf("emptydocument\n");
  19. xmlFreeDoc(doc);
  20. if(xmlStrcmp(cur->name,(constxmlChar*)"Context")){
  21. printf("documentofthewrongtype,rootnode!=Context");
  22. xmlFreeDoc(doc);
  23. return;
  24. }
  25. cur=cur->xmlChildrenNode;
  26. while(cur!=NULL){
  27. xmlNodePtrcur2_tmp=cur;
  28. xmlChar*key;
  29. xmlChar*attr;
  30. charconnectrequestUrl[32];
  31. if((!xmlStrcmp(cur->name,153); font-weight:bold; background-color:inherit">constxmlChar*)"list"))){
  32. attr=xmlNodeListGetString(doc,cur->properties->xmlChildrenNode,1);
  33. if((!xmlStrcmp(attr,153); font-weight:bold; background-color:inherit">constxmlChar*)"rrm_cell"))){
  34. xmlFree(attr);
  35. cur=cur->xmlChildrenNode;
  36. constxmlChar*)"item"))){
  37. attr=xmlNodeListGetString(doc,1);
  38. constxmlChar*)"Cell_Map_s"))){
  39. xmlFree(attr);
  40. while(cur!=NULL){
  41. xmlNodePtrcur2_tmp=cur;
  42. constxmlChar*)"p"))){
  43. constxmlChar*)"Hnb_IP"))){
  44. printf("********************\n");
  45. key=xmlNodeListGetString(doc,cur->xmlChildrenNode,248)"> memcpy(connectrequestUrl,(constchar*)key,strlen((char*)key));
  46. connectrequestUrl[strlen((char*)key)]='\0';
  47. printf("theurlis:%s\n",connectrequestUrl);
  48. xmlFree(key);
  49. else{
  50. /*resetcul*/
  51. cur=cur2_tmp;
  52. cur=cur->next;
  53. /*RESETcur*/
  54. else{
  55. cur=cur2_tmp;
  56. cur=cur->next;
  57. intmain(void){
  58. while(1){
  59. get_connnectrequestUrl("config.xml");
  60. sleep(5);
  61. //return0;

编译:gcc -o testxml4 testxml4.c -I /usr/local/include/libxml2/ -L /usr/local/lib -lxml2

使用valgrind检测内存泄露的情况:valgrind--tool=memcheck--leak-check=full./testxml4

交叉编译:arm-none-linux-gnueabi-gcc -o testxml4 testxml4.c -I /usr/local/include/libxml2/ -L /usr/local/lib -lxml2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇