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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS7 解决无法使用tab自动补全

    CentOS7 解决无法使用tab自动补全

    2021年6月3日
    110
  • 一分钟详解「手眼标定」基本原理[通俗易懂]

    一分钟详解「手眼标定」基本原理[通俗易懂]原文首发于微信公众号【视觉IMAX】。一前言机器人的视觉系统分为固定场景视觉系统和运动的「手-眼」视觉系统。摄像机与机器人的手部末端,构成手眼视觉系统。根据摄像机与机器人相互位置的不同,手眼视觉系统分为Eye-in-Hand系统和Eye-to-Hand系统。Eye-in-Hand系统的摄像机安装在机器人手部末端(end-effector),在机器人工作过程中随机器人一起运动。Eye-to-…

    2022年5月5日
    168
  • HTTP_REFERER的用法及伪造

    HTTP_REFERER的用法及伪造

    2021年10月30日
    34
  • LUCENE3.0 自学吧 5 TokenStream

    LUCENE3.0 自学吧 5 TokenStream
    研究Lucene分析器的实现。
    Analyzer抽象类
    所有的分析器的实现,都是继承自抽象类Analyzer,它的源代码如下所示:
    packageorg.apache.lucene.analysis;importjava.io.Reader;publicabstractclassAnalyzer{//通过Field的名称,和一个Reader对象,创建一个分词流,该方法是抽象方法publicabstractTokenStrea

    2022年7月22日
    6
  • 不止一个背包的背包问题_算法基础课acwing下载

    不止一个背包的背包问题_算法基础课acwing下载有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。si=−1 表示第 i 种

    2022年8月9日
    3
  • 官网下载jdk要下载低版本的jdk总是找半天也找不到,怎么办[通俗易懂]

    官网下载jdk要下载低版本的jdk总是找半天也找不到,怎么办[通俗易懂]官网下载jdk要下载低版本的jdk总是找半天也找不到,怎么办

    2022年4月23日
    87

发表回复

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

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