• 大小: 24KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: XML  c读写  

资源简介

纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 在使用时请保留作者名称 编译测试用例方法:gcc -o testxml testxml.c libxmlparse.a 运行时可输入:testxml 可在/export/home/chcard/log中的.log文件中看到输出的XML内容 路径以实际应用为准

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “xmlparse.h“
main()
{
char  xmlstr[2048]xmlstr2[2048];
XTREE *xTree;
int rd_intpr_intmod_intfr_int;
XNODE *xNode;
XSTRING *xStr*NewxStr;
char pNodeName[1024]NodeName[1024]aa[1024];

printf(“1\n“);

rd_int = 0;
pr_int = 0 ;
mod_int = 0;
fr_int = 0;
memset(xmlstr0x00sizeof(xmlstr));
memset(xmlstr20x00sizeof(xmlstr2));
memset(pNodeName0x00sizeof(pNodeName));
memset(NodeName0x00sizeof(NodeName));
memset(aa0x00sizeof(aa));
xTree=(XTREE *)malloc(sizeof(XTREE));
xNode=(XNODE *)malloc(sizeof(XNODE));
xStr=(XSTRING *)malloc(sizeof(XSTRING));
NewxStr=(XSTRING *)malloc(sizeof(XSTRING));

printf(“2\n“);

strcpy(xmlstr“l version=‘1.0‘ encoding=‘UTF-8‘?>1aa2bb3cc
4dd
5ee6ff7gg
“);

printf(“3\n“);

printf(“xmlstr=[%s]\n“xmlstr);

rd_int = xmlParseRead(xmlstr 152 xTree);

printf(“4\n“);

printf(“rd_int=[%d]“rd_int);

printf(“\n“);

printf(“eeeeeeeeeeeeeeeeeeeeeee\n“);

printf(“xTree->nodeCount=[%d]“xTree->nodeCount);


pr_int = printXtree(xTree);

printf(“pr_int=[%d]“pr_int);

printf(“\n“);

  printf(“-------------------------------------根据结点名称得到结点值---------------------------------------------\n“);
  
  strcpy(pNodeName“yxf“);
  strcpy(NodeName“dd“);
  xNode = xmlGetNode(xTree pNodeName NodeName);
  
  printf(“7-1\n“);
  
  printf(“xNode->level=[%d]\n“xNode->level);
  
  printf(“7-2\n“);
  
  printf(“xNode->data.text=[%s]\n“xNode->data.text);
  
  printf(“7-3\n“);
  
  printf(“-------------------------------------修改结点值---------------------------------------------------------\n“);
  
  NewxStr->text = “yyyxxxfff“;
  NewxStr->len = 9;
  mod_int = XElementData(xTree  NewxStr);
  
  printf(“7-4\n“);
  
  printf(“mod_int=[%d]\n“mod_int);
  
  pr_int = printXtree(xTree);
  
  
  printf(“7-5\n“);
  
  
  printf(“-------------------------------------释放结点  ---------------------------------------------------------\n“);
  
  fr_int = xmlParseFree(xTree);
  
  
  printf(“fr_int=[%d]\n“fr_int);
  
  printf(“-------------------------------------循环体结点取值-----------------------------------------------------\n“);
  
  xTree=(XTREE *)malloc(sizeof(XTREE));
xNode=(XNODE *)malloc(sizeof(XNODE));
  memset(pNodeName0x00sizeof(pNodeName));
memset(NodeName0x00sizeof(NodeName));
  
  strcpy(xmlstr2“l version=‘1.0‘ encoding=‘UTF-8‘?>user1meter1user2meter2user3meter3“);
  
  printf(“xmlstr2=[%s]\n“xmlstr2);

xmlParseRead(xmlstr2 229 xTree);

printXtree(xTree);

strcpy(pNodeName“Result“);
  strcpy(NodeName“Row“);
  xNode = xmlGetNode(xTree pNodeName NodeName)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16216  2013-01-15 16:56  c-xml\libxmlparse.a

     文件        423  2013-01-15 16:56  c-xml\makefile

     文件      22948  2013-01-15 16:56  c-xml\testxml

     文件       3111  2013-01-15 16:56  c-xml\testxml.c

     文件      17797  2013-01-15 16:56  c-xml\xmlparse.c

     文件       3008  2013-01-15 17:17  c-xml\xmlparse.h

     文件      15576  2013-01-15 16:56  c-xml\xmlparse.o

     文件        401  2013-01-15 17:26  c-xml\使用说明.txt

     目录          0  2013-01-15 17:21  c-xml

----------- ---------  ---------- -----  ----

                79480                    9


评论

共有 条评论