CMarkup是一个小型XML的分析器,实现语言是C++,英文版的接口说明地址为:http://www.firstobject.com/dn_markupmethods.htm

有厉害的网友已经翻译出接口的中文说明如下:

1、初始化
Load 导入一个XML文件到CMarkup的对象中,并对它进行解析。类似C#的Load。
SetDoc 从字符串中导入XML数据,并对它解析。类似C#的LoadXml。

2、输出
Save 将XML数据写入文件中。类似C#的Save。
GetDoc 将整个XML数据文档作为字符串返回。

3、改变当前位置
FindElem 定位到下一个元素,可能和一个标签名或路径匹配。
FindChildElem 定位到下一个子元素,匹配元素名或路径。
FindPrevElem 定位前一个元素,可能和一个标签名或路径匹配。
FindPrevChildElem 定位前一个子元素,可能匹配标签名。
FindNode  定位下一个节点,可能和节点类型匹配。
IntoElem  进入当前主位置的下一级,当前的位置变为父位置。
OutOfElem 使当前父位置变成当前位置。
ResetPos 复位当前位置为文档起始位置。
ResetMainPos 将当前主位置复位为第一个兄弟位置之前。
ResetChildPos 复位当前子位置到第一个子位置之前。
4、文档新增
AddElem 在当前主位置元素或最后兄弟位置之后增加一个元素。
InsertElem 在当前主位置元素或第一个兄弟位置之前插入一个元素。
AddChildElem 在当前子位置元素或最后一个子位置之后增加一个元素。
InsertChileElem 在当前子位置元素或低一个子位置之前插入一个元素。
AddSubDoc 在当前主位置元素或最后一个兄弟位置之后增加一个子文档。
InsertSubDoc 在当前主位置元素或第一个兄弟位置之前插入一个子文档。
AddChildSubDoc 在当前子位置元素或最后一个子位置之后增加子文档。
InsertChildSubDoc 在当前子位置元素或第一个子位置之前插入一个子文档。
AddNode 在当前节点之后或父元素内容末尾增加一个节点。
InsertNode 在当前节点之前或父元素内容开头插入一个节点。
5、文档中删除
RemoveElem 删除当前包括子元素的主位置元素
RemoveChildElem 删除包括当前子元素及其子元素
RemoveNode 删除当前节点
RemoveAttrib 删除当前位置元素具体的属性
RemoveChildAttrib 删除当前子位置元素的某个具体属性
6、得到值
GetData 得到当前主位置元素或节点的字符串值
GetChildData 得到当前子位置元素的字符串值
GetElemContent 得到当前主位置元素包括其子元素的标记内容字符串值
GetSubDoc 得到当前主位置元素包括其子元素的文档片断标记字符串值
GetChildSubDoc 得到当前子位置元素包括其子元素的文档片断标记字符串值
GetAttrib 得到主位置元素(或正在进行的指令的)某一具体属性字符串值
GetChildAttrib 得到子位置某一特定属性的字符串值
GetTagName 得到主位置元素(或正在进行的指令的)标签名称
GetChildTagName 得到子位置元素的标签名称
FindGetData 定位到匹配某一具体路径的下一个元素并返回字符串值
7、设置值
SetData 设置当前主位置元素或节点的值
SetChildData 设置当前子位置元素的值
SetElemContent 设置当前主位置元素的标记内容
SetAttrib 设置当前主位置元素(或正在进行的指令的)某一具体属性的值
SetChildAttrib 设置当前子位置元素某一具体属性的值
FindSetData 定位匹配某一具体路径的下一个元素并设置其值
8、获取其他信息
GetAttribName 当过当前位置元素属性的具体索引得到属性名称
GetNodeType 得到当前节点的节点类型
GetElemLevel 得到当前主位置的级数
GetElemFlags 得到当前主位置元素的标志
SetElemFlags 设置当前主位置元素的标志
GetOffsets 获得在当前主位置偏移的文档文本
GetAttribOffsets 获得在当前主位置特定属性便宜的文档文本
9、保存位置信息
SavePos 在hash map中使用可选字符串名称保存当前位置
RestorePos 定位到通过SavePos保存的位置
SetMapSize 设置SavePos和RestorePos使用的hash map大小
GetElemIndex 得到当前主位置元素整形索引值
GotoElemIndex 设置当前主位置元素为给定的整形索引值
GetChildElemIndex 得到当前子位置元素的整形索引值
GotoChildElemIndex 设置当前子位置元素为给定的整形索引值
GetParentElemIndex 获得当前父位置元素的整形索引值
GotoParentElemIndex 设置当前父位置元素为给定的整形索引值
GetElemPath 获得表示主位置元素绝对路径的字符串
GetChildElemPath 获得表示子位置元素的绝对路径的字符串
GetParentElemPath 获得表示父位置元素的绝对路径的字符串
10、文档状态
IsWellFormed 判定文档是否有单一根元素和恰当地包含元素
GetError 从最后的解析中返回错误(信息)字符串
GetDocFlags 返回文档标志
SetDocFlags 设置文档标志
GetDocElemCount 返回文档中元素的个数
11、静态的实用函数
ReadTextFile 读一个文本文件转成字符串
WirteTextFile 写字符串到文本文件中
GetDeclareEncoding 从XML声明中得到编码的名字
EscapeText 返回标记中某一字符的编码
UnescapeText 返回字符串值得某一特定字符解码
UTF8ToA 将UTF-8字符转成非Unicode(如ANSI)字符
AToUTF8 将非Unicode(如ANSI)字符转成UTF-8字符
UTF16T08 将UTF-16字符转成UTF-8
UTF8To16 将UTF-8字符转成UTF-16
EncodeBase64 将二进制数据译成Base64字符串
DecodeBase64 将Base64字符译成二进制数据

CMarkUp接口说明的更多相关文章

  1. Duilib源码分析(三)XML解析器—CMarkup

    上一节介绍了控件构造器CDialogBuilder,接下来将分析其XML解析器CMarkup: CMarkup:xml解析器,目前内置支持三种编码格式:UTF8.UNICODE.ASNI,默认为UTF ...

  2. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  3. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  4. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  5. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  8. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  9. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

随机推荐

  1. Hibernate学习之缓存简析

    一.一级缓存 Hibernate的Session提供了一级缓存的功能,默认总是有效的,当应用程序保存持久化实体.修改持久化实体时,Session并不会立即把这种改变提交到数据库,而是缓存在当前的Ses ...

  2. jquery的extend()函数

    extend()是在写插件的过程中常用的方法,该方法有一些重载原型. 1.该方法的原型是: extend(dest,src1,src2,src3...); 它的含义是将src1,src2,src3.. ...

  3. jquery弹出层拖拽

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  4. datatable,查询,排序,复制等操作

    DataTable排序,检索,合并详解 一.排序 获取DataTable的默认视图 对视图设置排序表达式 用排序后的视图导出的新DataTable替换就DataTable (Asc升序可省略,多列排序 ...

  5. IO调度算法研究1

    linux kernel 2.6之后提供了四种IO调度算法,每种调度算法都有其不同的特点和应用场景,系统使用者可以通过系统提供的接口,选择使用哪种IO调度算法,以及调整IO调度算法的参数,以达到最优的 ...

  6. 帝国cms后台 不同栏目发布字段不同

    在同一数据表下的两个栏目,由于功能不同,也需要建立不同的字段,问题是建立完不同字段后,其数据表下的两个栏目都有发布字段.这里教大家,不同栏目下发布内容,不同字段.修改数据模型中 录入表单模板 代码.底 ...

  7. c++ bitset使用

    A bitset is a special container class that is designed to store bits (elements with only two possibl ...

  8. Oracle 日期时间

    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from goods t insert into goods (id,createdate) value ...

  9. ASP.NET 母版页和内容页的加载顺序

    Master 模板页Content 内容页如果希望Master页面的数据传给Content页面,请Init如果希望Content页面的数据传给Master页面,请重载Load具体细节不多说了,看下面页 ...

  10. iOS 滤镜 转载,原文见正文首行链接

    转载自:http://blog.sina.com.cn/s/blog_5fb39f9101018gv7.html 直接上代码了: // // ViewController.m // 图片模糊处理 // ...