c语言解析xml
根据导师的要求,要用C语言解析一个xml文件,用于对升级文件进行合法性判断,进而对软件进行升级。
上网搜了一些关于这方面的资料,发现有一些是用C++或Java等语言写的,当然也可以直接下载开源的'代码,也可以下载库文件直接使用。但考虑到对xml文件解析其实用不到那么多功能,也考虑到硬件方面无法支持这么大的库文件。因此,决定自己写一段代码用于解析简单的xml文件。
看了一些源代码,发现他们主要使用树型结构来实现对xml 的解析,由于能力有限吧,感觉很麻烦,可能占用内存也会很大,所以我苦苦思索了好久,决定使用递归的方法解析xml文件,每当解析出相应的数值时,可以立即对这些数值进行判定是否合法,如果合法的话,可以继续解析;如果不合法的话,就可以直接跳出。
对这个xml文件,我做了很严格的定义:
<主标签 属性值1>
<子标签> 属性值2
<子标签>
<下级子标签>属性值3
在这里,可以在标签间的任何地方进行注释,但禁止在标签内部进行注释;标签可以有多层嵌套,但必须保证标签有结束标志,嵌套必须合法。
属性值的规定方面,可以正确的解析属性值2和属性值3,但不会解析属性值1,属性值1可以起到注释的作用。
下面贴出一些主要的代码:
首先读取xml文件:
-
Mac系统怎样使用终端编写c语言程序
C语言是目前较为普遍的程序语言,它功能丰富、表达能力强、使用灵活方便、目标程序效率高,适合编制一般应用软件。下面是应届毕业生小编收集整理的Mac系统怎样使用终端编写c语言程序,希望对大家有帮助~~Mac系统使用终端编写c语言程序的'方法工具/原料Mac系统,终...
-
2017计算机二级C语言考点解析
大家在备考计算机二级考试时要掌握考点,这样复习才有方向,以下是本站小编整理的计算机二级C语言考点解析,更多计算机二级考试信息请继续关注应届毕业生考试网。8.1指针与指针变量的概念,指针与地址运算符1.在C语言中,指针是指一个变量的地址,通过变量的地址″指...
-
C语言main函数的参数
导语:main函数一般都是不带参数的,那么什么情况会带参数呢?让我们了解一下吧!一般main函数都是不带参数的。因此main后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写...
-
C语言中文件操作详解及实例代码
在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作。以下是本站小编搜索整理的关于这些操作中涉及到的函数,,需要的朋友可以参考本文!想了解更多相关信息请持续关注我们应届毕业生考试网!一.移动位置指针的函数rewind函数和fseek函数,这两个函数的原...