linux c语言xml解析xml,纯C语言XML解析器

linux c语言xml解析xml,纯C语言XML解析器精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠,运行速度飞快,非相应的JAVA程序可比.以下为大部分源码:/*Copyright(c)2005wzs*/#include#include#include#include#include#include”xmlparse.h”/*xml得到节点名值,返回:1节点标识名开头,2节点标…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠,运行速度飞快,非相应的JAVA程序可比.以下为大部分源码:

/* Copyright (c) 2005 wzs */

#include

#include

#include

#include

#include

#include “xmlparse.h”

/*xml得到节点名值, 返回: 1节点标识名开头, 2节点标识名结尾, 3 注释 , 4元素数据 <=0有错误 */

#define XVAL_NBEGIN 1

#define XVAL_NEND 2

#define XVAL_NOTE 3

#define XVAL_DATA 4

#define XVAL_TAG 5 /* 空标志 */

#define XVAL_NONE 0

#define XVAL_ERROR -1

static int isSpace(int c) /* 是空否 */

{

switch (c) {

case 0x20:

case 0xD:

case 0xA:

case 0x9:

return 1;

}

return 0;

}

static int isNameTChar(int c) /* 有效的名称前导符 */

{

return (c>=’A’ && c<=’Z’) || (c>=’a’ && c<=’z’) || (c==’_’) ;

}

int EqXString (XSTRING *dxs, XSTRING *sxs ) /* X字串赋值 */

{

dxs->text = sxs->text ;

dxs->len = sxs->len ;

return 0;

}

int EqXNode (XNODE *dx, XNODE *sx ) /* X节点赋值 */

{

EqXString ( &(dx->name), &(sx->name) );

dx->index = sx->index ;

dx->parentNode = sx->parentNode ;

dx->level = sx->level ;

dx->tagCount = sx->tagCount ;

EqXString ( &(dx->data), &(sx->data) );

return 0;

}

/* 增加同级节点: */

XNODE *XAddNode(XTREE *xTree , XSTRING *name)

{

if (xTree->curNode->parentNode == NULL || xTree->nodeCount >= xTree->nodeMaxCount ) return NULL ;

(xTree->nodeCount) ++ ;

xTree->preNode = xTree->curNode ;

xTree->curNode = & (xTree->nodeList[ xTree->nodeCount -1 ] ) ;

xTree->curNode->index = xTree->nodeCount -1 ;

EqXString (&(xTree->curNode->name), name);

xTree->curNode->parentNode = xTree->preNode->parentNode ;

xTree->curNode->lev

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157849.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Visio2013激活_2013 visio 32位

    Visio2013激活_2013 visio 32位转载的博客,记录下来,便于后面查找。from: http://blog.csdn.net/keenweiwei/article/details/42780805/环境是win7,64bit装了visio2013,可以却不能用它来画图,在网上找了一些激活成功教程工具,大都不能解决问题。网上不靠谱的广告型文章太多了,比较头痛。所幸,终于找到正确的激活成功教程工具KMSpico_set…

    2022年10月5日
  • arping常见用法

    arping常见用法阅读本文大概需要2分钟。功能:查看本LAN内IP对应的主机MAC地址,以及MAC的占用问题。有两个版本:ThomasHabets版和Linuxi…

    2022年6月3日
  • 用KCPTun进行加速

    用KCPTun进行加速来源:https://blog.csdn.net/Crapefruit/article/details/86669794VPS端在命令行键入:mkdirkcptuncdkcptunwget

    2022年8月4日
  • java 二维数组 arraycopy_Java对数组的复制[通俗易懂]

    java 二维数组 arraycopy_Java对数组的复制[通俗易懂]定义一个数组int[]a={3,1,4,2,5};int[]b=a;数组b只是对数组a的又一个引用,即浅拷贝。如果改变数组b中元素的值,其实是改变了数组a的元素的值,要实现深度复制,可以用clone或者System.arrayCopyint[]a={3,1,4,2,5};int[]b=a.clone();b[0]=10;System.out.println(b[0]+””+a[0…

    2022年7月7日
  • ubuntu支持的文件系统类型_常见的文件系统有哪两种

    ubuntu支持的文件系统类型_常见的文件系统有哪两种文件系统类型在windows中我们常见的磁盘格式有fat16、fat32和ntfs。但是windows的文件管理显得有些赘余,为打开一个文件需要打开n个地方,在一个角落里找。而且windows本身对于其他系统的文件格式就更差了,没有听说在windows里打开ext3或者mac日志式。windows是一个封闭的系统。在ubuntu中其文件系统广泛使用ext3的文件格式,从而实现了将整个

    2022年9月17日
  • xaxis python_Python Matplotlib.axes.Axes.invert_xaxis()用法及代码示例

    xaxis python_Python Matplotlib.axes.Axes.invert_xaxis()用法及代码示例Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。轴类包含大多数图形元素:Axis,Tick,Line2D,Text,Polygon等,并设置坐标系。Axes实例通过callbacks属性支持回调。matplotlib.axes.Axes.invert_xaxis()功能matplotlib库的axiss模块中的Axes.invert_xaxis()函数用于反转x…

    2022年11月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号