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-tw/jsj/cyuyan/o5lo9z.html