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成员方法简介 (转)的更多相关文章

  1. 转载:CMarkUp使用简介

    转载地址:http://blog.csdn.net/jonathandj/article/details/4320725 最近正在研究C++下的XML分析工具CMarkup.初次和XML相遇是基于C# ...

  2. 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法

    . 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...

  3. JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  4. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  5. ThinkPHP中的三大自动简介

    ThinkPHP中的三大自动简介 文章TAG:thinkphp 自动简介 时间:2014-08-23来源:商业源码网 作者:源码库 文章热度: 186 ℃ 过期已备案域名,注册就能用!终身VIP会员, ...

  6. final简介

    final简介 final用来修饰方法和属性表示特殊的意义.修饰方法时表示方法不能被重写:修饰属性时表示属性不能被改变,这里属性又分为对象和基本类型,修饰基本类型表示基本类型赋值以后不能再被赋值,修饰 ...

  7. 代理(Proxy)模式简介

    Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,而这张图片需要花费很长时间才能显示出来,那么当这个图片包含在文档中的后面时,使用编辑器或浏览器打开 ...

  8. ImageView类简介

    4.8  图片控件 本节将要介绍的是图片控件ImageView,首先对ImageView类进行简单介绍,然后通过一个案例来说明ImageView的用法. 4.8.1  ImageView类简介 Ima ...

  9. Tornado框架简介

    -------------------简介------------------- 1.概念:     Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器 ...

随机推荐

  1. Be opinionated out of the box but get out of the way quickly as requirements start to diverge from

    Be opinionated out of the box but get out of the way quickly as requirements start to diverge from t ...

  2. 互联网轻量级框架SSM-查缺补漏第九天

    简言: 第九章 Spring Ioc的概念 IoC(Inversion of Control)控制反转:比如想喝橙汁,在没有饮品店的日子,最直观的做法是买果汁机.橙汁.这是你自己“主动”创造的过程,也 ...

  3. flask 继承模版的基本使用

  4. javascript截取字符串长度

    <html> <head> <meta charset="UTF-8"/> <title>截取字串长度</title> ...

  5. mui.ajax()和asp.net sql服务器数据交互【3】最终版

    1.前端页面 <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-ic ...

  6. Java Struts2 (一)

    一.Struts2简介 1.Struts2概述 Struts2是Apache发行的MVC开源框架.注意:它只是表现层(MVC)框架. 2.Struts2的来历 Struts1:也是apache开发的一 ...

  7. 清楚苹果 iPai端按钮默认样式

    input[type="button"], input[type="submit"], input[type="reset"] { -web ...

  8. How to use Log4cplus

    Introduction Log4cplus is derived by the popular Log4j written in java.<br>This tutorial show ...

  9. C#链接数据库:SQL Server 2008

    自己学习C#编程,在WinForm编程中,代码测试连接数据库. 现在sqlserver中测试使用的数据库能否以指定的用户名和密码登录. 如图所示,计算机名为administrator,数据库实例为sq ...

  10. Unity创建或克隆对象 Instantiate()

    //需要创建对象 GameObject prefab; //创建对象的规定位置或父物体 Transform tr; //创建出对象 Instantiate(prefab); //创建对象,并设定位置和 ...