基于tinyXml2库封装的解析xml的通用类

我自己封装tinyxml2的库形成了一个解析xmld的类,分享在此,欢迎与我交流。
tinyxml2是一个解析xml的轻型库,为了方便以后的使用,我自己封装了一个工具类。
某些格式转换的代码比如string和utf-8互转的代码可以根据自己的需要进行实现。
tinyxml2库下载:https://github.com/leethomason/tinyxml2

//tinyXmlPlus.h文件
#pragma once
#include "tinyxml2-master\\tinyxml2.h"
class CTineyXmlPlus
{
public:
    CTineyXmlPlus(std::string strXmlPath);
    ~CTineyXmlPlus();
public:
    tinyxml2::XMLDocument* GetMyDocument();         //获取xml对象
    tinyxml2::XMLElement *GetRootElement();                 //获取根节点
    void initDocument();                            //初始化文档
public:
    //按xml表的顺序遍历全部节点
    bool ReadAllXmlValue(std::vector<std::string>& vectorValue);
    //读取全部的一级节点
    bool ReadAllFirstLevelValue(std::vector<std::string>& vectorValue);                     
    //读取某个一级节点下的全部子节点
    bool ReadSpecifyChildValue(std::string strFatherNodeValue, std::vector<std::string>& vectorValue);
protected:
    tinyxml2::XMLDocument m_mydocument;             //声明xml对象
    tinyxml2::XMLElement *m_pRootElement;                       //根节点 
    tinyxml2::XMLElement *m_pSurface;                           //节点入口,获取第一个值为value的子节点 默认为空则返回第一个节点
    std::vector<std::string> m_vectorValue;
    std::vector<std::string> ReadXml(tinyxml2::XMLElement * pSurface);
};

//tinyXmlPlus.cpp文件
#include "stdafx.h"
#include "TineyXmlPlus.h"
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值