Duilib库对象解析 2— XML解析器CMarkup

本文详细介绍了Duilib库中的CMarkup类和CMarkupNode类,用于XML解析。CMarkup类支持UTF8、UNICODE、ASNI三种编码,内部存储XML文件内容,而CMarkupNode类则表示XML节点。CMarkupNode作为CMarkup的友元,能访问其成员。每个XML节点最多有64个属性。在加载ZIP资源时,CMarkup使用OpenZip等接口进行操作。在窗体创建过程中,CDialogBuilder构建控件树,CPaintManagerUI管理控件并处理消息通知。
摘要由CSDN通过智能技术生成

CMarkup类:xml解析器,目前内置支持三种编码格式:UTF8、UNICODE、ASNI,默认为UTF8;

CMarkupNode类:xml节点类

CMarkup类

XMLELEMENT: xml节点元素类型定义

    typedef struct tagXMLELEMENT
    {
        ULONG iStart;
        ULONG iChild;
        ULONG iNext;
        ULONG iParent;
        ULONG iData;
    } XMLELEMENT;

    iStart,节点元素在xml文件中的起始位置;

    iChild,节点元素子节点;

    iNext,节点元素的下一个节点(兄弟节点);

    iParent,节点元素的父节点;

    iData,节点元素的数据

事实上,这些值均为ULONG类似,即unsigned long;存储的值为当前数据在内存缓冲区m_pstrXML中指向的位置。

CMarkup类成员数据:

m_pstrXML:为CMarkup存储的以加载xml文件数据内容的指针缓冲区;

m_pElements:保存XMLELEMENT类型的节点元素信息的缓冲区,事实上可能有部分未预料的存储空间;

m_nElements:实际的保存m_pElements中有效的节点元素数;

m_nReservedElements:预留的m_pElement
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值