c語言解析xml
- C語言
- 關注:1.51W次
C語言解析xml
根據導師的要求,要用C語言解析一個xml文件,用於對升級文件進行合法性判斷,進而對軟件進行升級。
上網搜了一些關於這方面的資料,發現有一些是用C++或Java等語言寫的,當然也可以直接下載開源的'代碼,也可以下載庫文件直接使用。但考慮到對xml文件解析其實用不到那麼多功能,也考慮到硬件方面無法支持這麼大的庫文件。因此,決定自己寫一段代碼用於解析簡單的xml文件。
看了一些源代碼,發現他們主要使用樹型結構來實現對xml 的解析,由於能力有限吧,感覺很麻煩,可能佔用內存也會很大,所以我苦苦思索了好久,決定使用遞歸的方法解析xml文件,每當解析出相應的數值時,可以立即對這些數值進行判定是否合法,如果合法的話,可以繼續解析;如果不合法的話,就可以直接跳出。
對這個xml文件,我做了很嚴格的定義:
<主標籤 屬性值1>
<子標籤> 屬性值2
<子標籤>
<下級子標籤>屬性值3
在這裏,可以在標籤間的任何地方進行註釋,但禁止在標籤內部進行註釋;標籤可以有多層嵌套,但必須保證標籤有結束標誌,嵌套必須合法。
屬性值的規定方面,可以正確的解析屬性值2和屬性值3,但不會解析屬性值1,屬性值1可以起到註釋的作用。
下面貼出一些主要的代碼:
首先讀取xml文件:
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/jsj/cyuyan/o5lo9z.html