CMarkup成员方法简介

2024-03-27 12:58
文章标签 方法 成员 简介 cmarkup

本文主要是介绍CMarkup成员方法简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CMarkup成员方法简介


翻译: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成员方法简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/852169

相关文章

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分