STM32 /mbedOS使用的C++小型XML库-TinyXML2

22 篇文章 6 订阅

XML 结构化文档的处理是比价麻烦的,为在cortex-M CPU 上处理XML,我选择了tinyxml2 库,并且在Arm mbed OS 上实现。相对比较简单,在这里分享出来。

下载

代码下载地址https://github.com/leethomason/tinyxml2

文档地址:http://leethomason.github.io/tinyxml2/

下载解压后,在tinyxml2-master 找出tinyxml2.cpp 和tinyxml2.h 两个文件。这个有用的文件

mbed OS  上的测试

新建一个新项目,建立一个新文件夹tinyxml2,上传tinyxml2.cpp 和tinyxml2.h 两个文件到该文件夹中。

编写测试程序



#include "mbed.h"
#include "tinyxml2/tinyxml2.h"
#include <cerrno>
#include <cstdlib>
#include <cstring>
using namespace tinyxml2;
using namespace std;
int main(){
    // Test: Programmatic DOM
        // Build:
        //      <element>
        //          <!--comment-->
        //          <sub attrib="0" />
        //          <sub attrib="1" />
        //          <sub attrib="2" >& Text!</sub>
        //      <element>

        XMLDocument* doc = new XMLDocument();
        XMLNode* element = doc->InsertEndChild( doc->NewElement( "element" ) );

        XMLElement* sub[3] = { doc->NewElement( "sub" ), doc->NewElement( "sub" ), doc->NewElement( "sub" ) };
        for( int i=0; i<3; ++i ) {
            sub[i]->SetAttribute( "attrib", i );
        }
        

        const int dummyInitialValue = 1000;
        int dummyValue = dummyInitialValue;

        XMLNode* comment = element->InsertFirstChild( doc->NewComment( "comment" ) );
        comment->SetUserData(&dummyValue);
        element->InsertAfterChild( comment, sub[0] );
        element->InsertAfterChild( sub[0], sub[1] );
        element->InsertEndChild( sub[2] );
        sub[2]->InsertFirstChild( doc->NewText( "Text!" ));
        doc->Print();
}

上述程序已经在最新mbed OS6 下编译运行,请放心采纳.

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值