- 相關(guān)推薦
c語(yǔ)言解析xml
根據導師的要求,要用C語(yǔ)言解析一個(gè)xml文件,用于對升級文件進(jìn)行合法性判斷,進(jìn)而對軟件進(jìn)行升級。
上網(wǎng)搜了一些關(guān)于這方面的資料,發(fā)現有一些是用C++或Java等語(yǔ)言寫(xiě)的,當然也可以直接下載開(kāi)源的代碼,也可以下載庫文件直接使用。但考慮到對xml文件解析其實(shí)用不到那么多功能,也考慮到硬件方面無(wú)法支持這么大的庫文件。因此,決定自己寫(xiě)一段代碼用于解析簡(jiǎn)單的xml文件。
看了一些源代碼,發(fā)現他們主要使用樹(shù)型結構來(lái)實(shí)現對xml 的解析,由于能力有限吧,感覺(jué)很麻煩,可能占用內存也會(huì )很大,所以我苦苦思索了好久,決定使用遞歸的方法解析xml文件,每當解析出相應的數值時(shí),可以立即對這些數值進(jìn)行判定是否合法,如果合法的話(huà),可以繼續解析;如果不合法的話(huà),就可以直接跳出。
對這個(gè)xml文件,我做了很?chē)栏竦亩x:
<主標簽 屬性值1>
<子標簽> 屬性值2
<子標簽>
<下級子標簽>屬性值3
在這里,可以在標簽間的任何地方進(jìn)行注釋?zhuān)乖跇撕瀮炔窟M(jìn)行注釋;標簽可以有多層嵌套,但必須保證標簽有結束標志,嵌套必須合法。
屬性值的規定方面,可以正確的解析屬性值2和屬性值3,但不會(huì )解析屬性值1,屬性值1可以起到注釋的作用。
下面貼出一些主要的代碼:
首先讀取xml文件:
【 c語(yǔ)言解析xml】相關(guān)文章:
C語(yǔ)言的sizeo解析09-23
C語(yǔ)言題目及解析09-25
C語(yǔ)言的指針類(lèi)型解析09-14
C語(yǔ)言數組實(shí)例解析10-21
C語(yǔ)言親密數實(shí)例解析10-28
用C-FREE編寫(xiě)的C語(yǔ)言程序解析08-25
C語(yǔ)言測試題及答案解析11-04
C語(yǔ)言函數返回值解析09-17
深入解析C語(yǔ)言中的數值與真假08-14