CMarkup成员方法简介 (转)
CMarkup成员方法简介 (转)
转自:http://blog.csdn.net/magictong/article/details/6669837
翻译:magictong(童磊)2011年7月
版权:First Objective Software, Inc. All rights reserved.
原文地址:http://www.firstobject.com/dn_markupmethods.htm
原文标题:CMarkup Methods
最近准备写一些xml解析的小程序,开始使用了tinyxml,不过tinyxml不支持Unicode,比较麻烦,后来又使用了CMarkup,找到CMarkup的一些文档,随口阅读的过程翻译之,记如下(P.S. 真正NB的程序员是不是应该自己写个XML的解析?o(∩_∩)o )。
——magictong 2011.07.26 夜
下面是CMarkup的类成员函数列表。这些函数的设计都是基于源EDOM的。带阴影的函数只存在于CMarkup的Developer版本中。(译注:所谓Developer版本就是收费的,我们一般使用他的Evaluation版本,其实就是阉割版o(∩_∩)o ,不过已经够了,因此下面的翻译中带阴影的函数我就不列出来了,可以自己去原文看。)
初始化
Load 从一个(xml)文件构建CMarkup对象并对其进行解析。
SetDoc 从一个字符串构建CMarkup对象并对其进行解析。
输出
Save 把xml文档数据写到文件中。
GetDoc 将整个xml文档数据作为一个字符串返回。
改变当前位置
FindElem 定位到下一个元素,可以选择匹配标签名或者路径。
FindChildElem 定位到下一个子元素,可以选择匹配标签名或者路径。
FindNode 定位到下一个节点,可选择匹配节点类型。
IntoElem 进入当前位置的下一级位置,而当前位置则变为父位置。
OutOfElem 使当前位置的父位置变为当前位置。
ResetPos 复位当前位置为文档的起始位置。
ResetMainPos 复位当前位置为第一个兄弟位置之前。
ResetChilePos 复位当前的子位置为第一个子位置之前。
添加元素
AddElem 在当前位置元素或者最后一个兄弟之后新增一个元素。
InsertElem 在当前位置元素或者第一个兄弟之前插入一个元素。
AddChildElem 在当前子位置元素或者最后一个子位置之后增加一个元素。
InsertChildElem在当前子位置元素或者第一个子位置之前插入一个元素。
AddSubDoc 在当前位置元素或者最后一个兄弟之后新增一个子文档。
InsertSubDoc 在当前位置元素或者第一个兄弟之前新增一个子文档。
AddChildSubDoc在当前子位置元素或者最后一个子位置之后增加一个子文档。
InsertChildSubDoc在当前子位置元素或者第一个子位置之前插入一个子文档。
AddNode 在当前节点的后面或者父元素内容的末尾新增一个节点。
InsertNode在当前节点的前面或者父元素内容的开头新增一个节点。
(译注:注意区分元素和节点,元素只是一种特殊的节点而已。)
删除元素
RemoveElem 删除当前位置元素,包括子元素。
RemoveChildElem 删除当前位置的子元素,包括子元素的子元素。
RemoveNode 删除当前节点。 RemoveAttrib 从当前位置的元素中删除指定的属性
RemoveChildAttrib的子 从当前位置的子元素中删除指定的属性
获取数据
GetData 返回当前位置元素或者节点的字符串值。
GetChildData 返回当前子位置元素的字符串值。
GetElemContent 返回当前位置包括子位置的markup字符串内容
GetSubDoc 返回当前位置包括子位置的子文档markup字符串内容
GetChildSubDoc 返回当前子位置包括其子位置的子文档markup字符串内
GetAttrib 获得当前位置某指定的具体属性的字符串值
GetChildAttrib 获得当前子位置某指定的具体属性的字符串值
GetTagName 获得当前位置的标签的名称
GetChildTagName 获得当前子位置的标签的名称
设置值,修改数据
SetData 设置当前位置元素或者节点的值
SetChildData 设置当前子位置元素的值
SetElemContent 将当前位置元素用markup(标记)内容来替换
SetAttrib 设置当前位置元素的指定属性的值
SetChildAttrib 设置当前子位置元素的指定属性的值
获取其它信息
GetNthAttrib 通过传入属性的索引获得当前位置指定的属性名称和属性值(译注:所谓属性的索引就是0~n-1这样递增序列,n表示属性的数量)
GetAttribName 通过传入属性的索引获得当前位置指定的属性名称
GetNodeType 返回当前节点的节点类型
获取位置信息
SavePos 使用一个可选的字符串把当前位置保存到一个hash map中
RestorePos 定位到通过SavePos保存的位置
SetMapSize 设置SavePos和RestorePos可以使用hash map的大小
文档状态信息
IsWellFormed 判断是否仅有单一的根元素并且恰当得容纳元素
GetResult 返回最后一次解析或者文件操作后结果的xml字符串(译注:类似于错误码)
GetError 返回最后一次解析或者文件操作后的结果描述字符串
GetDocFlags 返回文档标志
SetDocFlags 设置文档标志
静态通用函数
ReadTextFile 读取一个文本文件并转换为字符串
WriteTextFile 将字符串写到一个文本文件中
GetDeclaredEncoding 从XML的声明中获得编码的字符串名称
EscapeText 返回把特殊字符(xml特殊字符)编码过的字符串
UnescapeText 返回把特殊字符(xml特殊字符)解码过的字符串
UTF8ToA 将UTF-8字符串转换成非Unicode(例如ANSI)字符串
AToUTF8 将非Unicode(例如ANSI)字符串转换成UTF-8字符串
UTF16To8 将UTF-16字符串转换成UTF-8字符串
UTF8To16 将UTF-8字符串转换成UTF-16字符串
CMarkup成员方法简介 (转)的更多相关文章
- 转载:CMarkUp使用简介
转载地址:http://blog.csdn.net/jonathandj/article/details/4320725 最近正在研究C++下的XML分析工具CMarkup.初次和XML相遇是基于C# ...
- 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
. 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...
- JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- ThinkPHP中的三大自动简介
ThinkPHP中的三大自动简介 文章TAG:thinkphp 自动简介 时间:2014-08-23来源:商业源码网 作者:源码库 文章热度: 186 ℃ 过期已备案域名,注册就能用!终身VIP会员, ...
- final简介
final简介 final用来修饰方法和属性表示特殊的意义.修饰方法时表示方法不能被重写:修饰属性时表示属性不能被改变,这里属性又分为对象和基本类型,修饰基本类型表示基本类型赋值以后不能再被赋值,修饰 ...
- 代理(Proxy)模式简介
Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,而这张图片需要花费很长时间才能显示出来,那么当这个图片包含在文档中的后面时,使用编辑器或浏览器打开 ...
- ImageView类简介
4.8 图片控件 本节将要介绍的是图片控件ImageView,首先对ImageView类进行简单介绍,然后通过一个案例来说明ImageView的用法. 4.8.1 ImageView类简介 Ima ...
- Tornado框架简介
-------------------简介------------------- 1.概念: Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器 ...
随机推荐
- CSS3之 :nth-child(n)语法讲解
语法: E:nth-child(n){ sRules } * 匹配父元素索引为n的子元素E :nth-child(n) 让你匹配到父元素的任一子元素: Figure 1:<section id= ...
- jquery插件一直报错:xx is not a function
当然像js文件未引用或者js插件使用方法不对这样的解决办法想必大家都已经试过了. 那么在放弃前请最后看一下是不是引用了两个jquery文件. 引用了两个jquery文件! 引用了两个jquery文件! ...
- CRLF与LF解析
window和mac的同学合作开发项目,会出现git提交/拉取时换行符不一致导致,提示 "the text is identical, but the files do not match, ...
- MySQL性能优化的20+条经验
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一 ...
- AndroidStudio安装教程
Android studio安装与配置 1.首先下载Android studio安装包,可以从http://www.android-studio.org/ 2.下载好该安装包之后,点击进行安装,依次出 ...
- mvn 打包命令
mvn install & package:package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用. mvn clean ...
- BASE64编码的字符进行URL传输丢失特殊字符的问题
因为BASE64的编码里含有“+”号等特殊字符,在url传输的时候会把+号编程空格,解决这个问题的方法: 请求时把BASE64编码进行url的编码再进行传输 接收时把BASE64编码进行url的解码 ...
- SQL 查询:查询学生平均成绩
编程萌新,因为遇到这么个SQL 查询的问题:在一张表A里有如下字段:学生姓名.学科名.学科成绩.写一条SQL 语句查出各科平均成绩并按学生姓名分组,按如下格式显示:学生姓名|语文|数学|英语.一开始遇 ...
- 哈夫曼树算法及C++实现
一.相关概念 1.叶子结点的权值(weight)是对叶子结点赋予的一个有意义的数值量. 2.设二叉树有n个带权值的叶子结点,从根节点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和叫做二叉树的带权 ...
- 如何使用Adobe Reader复制PDF文档上的文字
PDF文档大家常用,但是有没有简单的方法能够提取PDF文档上的文字,然后使用呢?除了将PDF转换成Word,这里介绍一种更为简单实用的方法复制PDF文本文字,Adobe Reader是大家都常用的PD ...