c语言 自己编程解析 xml,C语言解析.XML文件

c语言 自己编程解析 xml,C语言解析.XML文件最近手头上有个活在忙,中间很重要的一部分就是用C语言将.XML文件中想要的key和value读出来,与之前已有的值进行比较。核心的.XML文件的格式如下:zzzxxxyyy而我的思路是这样的:1.将整个文件读到一个buf中;2.去掉不需要的头部分;(xml?>)3.采用下降递归的方法,获取到每一个人tag和content;其中用到的结构体有:typedefstructXM…

大家好,又见面了,我是你们的朋友全栈君。

最近手头上有个活在忙,中间很重要的一部分就是用C语言将.XML文件中想要的key和value读出来,与之前已有的值进行比较。

核心的.XML文件的格式如下:

zzz

xxx

yyy

而我的思路是这样的:

1.将整个文件读到一个buf中;

2.去掉不需要的头部分;( xml ?>)

3.采用下降递归的方法,获取到每一个人tag 和 content;

其中用到的结构体有:

typedef struct XML_SEGMENT{

char *str;

int len;

}XML_SEGMENT;

typedef enum{

XML_ELEMENT_CONTENT=1,XML_TEXT_CONTENT,XML_DECLARE_CONTENT

}xml_content_t;

typedef struct{

XML_ATTR_PAIR *array;

int cnt;

}XML_ATTRIBUTE;


typedef struct XML_LIST{

XML_SEGMENT tagname;

XML_ATTRIBUTE attr;

XML_SEGMENT content;

xml_content_t type;

XML_SEGMENT realm;

int depth;

struct XML_LIST *parent;

struct XML_LIST *first_child;

struct XML_LIST *prev_sibling;

struct XML_LIST *next_sibling;

}XML_LIST;

总结

以上是编程之家为你收集整理的C语言解析.XML文件全部内容,希望文章能够帮你解决C语言解析.XML文件所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

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

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

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


相关推荐

  • hp中国区总裁孙振耀职场圣经

    hp中国区总裁孙振耀职场圣经

    2021年5月4日
    143
  • oracle 拼接字符_oracle怎么拼接字符串

    oracle 拼接字符_oracle怎么拼接字符串原来oracle拼接字符串就是||原来oracle拼接字符串就是||原来oracle拼接字符串就是||

    2026年1月30日
    4
  • sftp与ssh端口分离_设置服务器端口监听

    sftp与ssh端口分离_设置服务器端口监听sftp,是ssh的功能之一,也就是说是使用SSH协议来传输文件的。OS系统内开启ssh服务和sftp服务都是通过/usr/sbin/sshd这个后台程序监听22端口,而sftp服务作为一个子服务,是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,如果没有配置Subsystem参数,则系统是不能进行sftp访问的。具体操作(本验证在RedHatLinux7.9上进行):一、复制SSH相关文件,作为sftp的配置文件1、拷贝/usr/lib/systemd/sys

    2025年11月14日
    3
  • 常用API,基本类型包装类,日期类,异常,集合进阶,IO流,多线程

    常用API,基本类型包装类,日期类,异常,集合进阶,IO流,多线程​十九.常用API19.1MathMath包含执行基本数字运算的方法没有构造方法,如何使用类中的成员呢?看类的成员是否都是静态的,如果是,通过类名就可以直接调用公19.1.1Math的常用方法绝对值publicclassMathDemo{publicstaticvoidmain(String[]args){//publicstaticintabs(inta):返回参数的绝对值System.out.println(

    2022年5月16日
    42
  • 深度好文 | 深圳IT人力外包客户如何做好外包客户的征询?

    深度好文 | 深圳IT人力外包客户如何做好外包客户的征询?1、询问公司的人数、技术团队及技术人员分布情况。2、公司的项目情况。(产品型or项目型、项目简单介绍、项目所处阶段、项目配备人员、预计开发周期、项目远期规划)3、采用外包的原因。(人员编制、项目紧急、招聘流程满、技术招聘能力不足、项目周期性、不愿养太多技术人员等)4、是否接触过外包、有无外包人员、最长外派多久了。5、职位需求、数量、周期、是否自备电脑。Java人员外包、web前端外包、Androi…

    2022年5月12日
    63
  • Centos7 升级内核小版本

    Centos7 升级内核小版本

    2021年5月13日
    133

发表回复

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

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