我正在開發一個嵌入式系統的項目,該項目使用XML將數據導入和導出系統。我不希望XML處理轉移到使用snprintf()
/strcat()
和朋友構建XML字符串的一堆位中,或者通過計算「<
」和「>
」字符來解析XML。C嵌入式系統的XML庫
我發現了幾個XML庫,其中一些甚至可能足夠小,但最接近C的是C++,它不適用於此系統。我希望我能找到符合下列約束條件的XML庫:
- C源代碼
- 沒有動態內存分配
- 便宜。免費是更好的,但copyleft不會做到這一點。
它不一定是一個完整的解析器 - 我只是想能夠從嵌套元素中提取文本,並有一個合理簡單的方法來生成不依賴於格式字符串的XML。屬性還沒有被使用,所以庫不需要甚至支持它們。 XML文檔將會非常小,所以類似於DOM的東西應該沒問題,只要它能夠與客戶端提供的緩衝區一起工作(解析原始XML就地很好)。
PugXML和TinyXML看起來相當接近,但我希望那裏的人知道爲僅基於C的嵌入式系統定製的XML庫,我的搜索引擎沒有找到。
某些「copyleft」庫的作者可能願意且能夠向您推銷其他代碼的商業用途許可證。 – caf 2009-07-16 08:23:26
如果我處於你的位置,由於嵌入式系統的限制,我會認真考慮替代XML。根據數據的性質,可能有更好的方法來封裝數據,這些數據不需要太多的處理開銷,無論是生成還是解析。 – 2009-07-19 05:46:46
我們有類似的情況,找不到任何小的lib,所以我最終爲二進制大小<20K的嵌入式系統編寫了一個,但它使用了堆。它僅支持帶名稱空間的ASCII字符。希望我可以幫助你,但它的專有:( – Manish 2011-01-21 06:23:11