本帖最后由 myqiang1990 于 2016-6-25 13:47 编辑
哈哈哈哈,标题取得有点霸气,其实也不是什么开源,只是移植了开源的MINIXML而已,MINIXML是全部源代码开源的XML解析库,很小,代码也比较清晰简单,整个代码围绕tree,也就是XML的元素节点组成的树展开,解析XML出来的XML所有元素都会变成一个树形结构,文件大小不受限制,但是限制于你MCU的内存,文件越大,耗内存就越严重!我觉得这个开源库有个不好的地方,就是没有提供内存管理,用的是C标准库里的malloc,不过不怪他,他本来就不是为了嵌入式而写的代码
,不过后期我们可以自己加入自己的内存管理替换他的。
XML支持3种加载XML文件的方式,这次我使用的是字符串加载方式,也就是吧XML文件全部从SD卡或者USB中读回来到一个BUFFER中,然后加载到MINIXML进行解析,它还支持文件句柄加载和文件流方式加载,这两种方式优点就是剩内存~
,所以后期我在改进一下,这次暂时用字符串加载方式
XML支持解析和创建XML文件,这次暂时试一下解析吧~创建大家自己搞吧,其实也很简单~
移植也很简单,请看代码,我提供了一个TEST.XML测试文件,里面有一个元素节点是FIXTURE,节点有三个属性,company,shortname,name,属性值分别为guangzou,myqiang,myqiang1990,其实大家可以解析任意复杂的XML文件,但是要注意内存
,在解析大文件的时候一定要注意HEAP的大小!!!好了废话不多说,上传源码,图片,和文档,我移植的是最新的MINIXML2.10版本
图片:
截图00.jpg (24.68 KB, 下载次数: 5)
下载附件
2016-6-25 13:40 上传
mdk.jpg (75.32 KB, 下载次数: 2)
下载附件
2016-6-25 13:40 上传
xml.jpg (23.09 KB, 下载次数: 2)
下载附件
2016-6-25 13:40 上传
文档:
Mini-XML编程手册.pdf
(586.04 KB, 下载次数: 304)
2016-6-25 13:35 上传
点击文件名下载附件
Mini-XML程序员开发手册_Version2.5.pdf
(10.79 MB, 下载次数: 286)
2016-6-25 13:35 上传
点击文件名下载附件
MiniXML中文文档.pdf
(6.45 MB, 下载次数: 332)
2016-6-25 13:36 上传
点击文件名下载附件
代码:
STM32解析xml.rar
(1.12 MB, 下载次数: 417)
2016-6-25 13:36 上传
点击文件名下载附件
测试文件:
test.rar
(191 Bytes, 下载次数: 228)
2016-6-25 13:47 上传
点击文件名下载附件
官方网站:
http://www.msweet.org/
xml 解析器是不是一定要支持动态内存分配?
一周热门 更多>