CMarkup与XML(二)

通过以上分析,我们对生成一个XML文档以及如何解析XML文档有了一个较为清晰的认识。下面进一步的深入研究CMarkup类为我们提供了哪些方法和属性供我们使用。

以下是我在网上所击到的功能函数的整理:

1) 初始化
  1.  Load 导入一个XML文件到CMarkup的对象中,并对它进行解析。
  2. SetDoc 从字符串中导入XML数据,并对它解析。

 

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

 

3) 改变当前位置
  1.  FindElem 定位到下一个元素,可能和一个标签名或路径匹配。
  2.  FindChildElem 定位到下一个子元素,匹配元素名或路径。
  3.  FindPrevElem 定位前一个元素,可能和一个标签名或路径匹配。
  4.  FindPrevChildElem 定位前一个子元素,可能匹配标签名。
  5.  FindNode  定位下一个节点,可能和节点类型匹配。
  6. IntoElem  进入当前主位置的下一级,当前的位置变为父位置。
  7. OutOfElem 使当前父位置变成当前位置。
  8. ResetPos 复位当前位置为文档起始位置。
  9. ResetMainPos 将当前主位置复位为第一个兄弟位置之前。
  10. ResetChildPos 复位当前子位置到第一个子位置之前。
4) 文档新增
  1. AddElem 在当前主位置元素或最后兄弟位置之后增加一个元素。
  2. InsertElem 在当前主位置元素或第一个兄弟位置之前插入一个元素。
  3. AddChildElem 在当前子位置元素或最后一个子位置之后增加一个元素。
  4. InsertChileElem 在当前子位置元素或低一个子位置之前插入一个元素。
  5. AddSubDoc 在当前主位置元素或最后一个兄弟位置之后增加一个子文档。
  6. InsertSubDoc 在当前主位置元素或第一个兄弟位置之前插入一个子文档。
  7. AddChildSubDoc 在当前子位置元素或最后一个子位置之后增加子文档。
  8. InsertChildSubDoc 在当前子位置元素或第一个子位置之前插入一个子文档。
  9. AddNode 在当前节点之后或父元素内容末尾增加一个节点。
  10. InsertNode 在当前节点之前或父元素内容开头插入一个节点。

 

 

 

 

 

 

 

 

 

5) 文档中删除
  1. RemoveElem 删除当前包括子元素的主位置元素
  2. RemoveChildElem 删除包括当前子元素及其子元素
  3. RemoveNode 删除当前节点
  4. RemoveAttrib 删除当前位置元素具体的属性
  5. RemoveChildAttrib 删除当前子位置元素的某个具体属性

 

 

 

 

6) 得到值
  1. GetData 得到当前主位置元素或节点的字符串值
  2. GetChildData 得到当前子位置元素的字符串值
  3.  GetElemContent 得到当前主位置元素包括其子元素的标记内容字符串值
  4.  GetSubDoc 得到当前主位置元素包括其子元素的文档片断标记字符串值
  5.  GetChildSubDoc 得到当前子位置元素包括其子元素的文档片断标记字符串值
  6.  GetAttrib 得到主位置元素(或正在进行的指令的)某一具体属性字符串值
  7.  GetChildAttrib 得到子位置某一特定属性的字符串值
  8.  GetTagName 得到主位置元素(或正在进行的指令的)标签名称
  9.  GetChildTagName 得到子位置元素的标签名称
  10.  FindGetData 定位到匹配某一具体路径的下一个元素并返回字符串值

 

 

 

 

 

 

 

 

 

7) 设置值
  1.  SetData 设置当前主位置元素或节点的值
  2.  SetChildData 设置当前子位置元素的值
  3.  SetElemContent 设置当前主位置元素的标记内容
  4.  SetAttrib 设置当前主位置元素(或正在进行的指令的)某一具体属性的值
  5.  SetChildAttrib 设置当前子位置元素某一具体属性的值
  6.  FindSetData 定位匹配某一具体路径的下一个元素并设置其值

 

 

 

 

 

8) 获取其他信息
  1. GetAttribName 当过当前位置元素属性的具体索引得到属性名称
  2. GetNodeType 得到当前节点的节点类型
  3. GetElemLevel 得到当前主位置的级数
  4. GetElemFlags 得到当前主位置元素的标志
  5. SetElemFlags 设置当前主位置元素的标志
  6. GetOffsets 获得在当前主位置偏移的文档文本
  7. GetAttribOffsets 获得在当前主位置特定属性便宜的文档文本

 

 

 

 

 

 

9) 保存位置信息
  1. SavePos hash map中使用可选字符串名称保存当前位置
  2. RestorePos 定位到通过SavePos保存的位置
  3. SetMapSize 设置SavePosRestorePos使用的hash map大小
  4. GetElemIndex 得到当前主位置元素整形索引值
  5. GotoElemIndex 设置当前主位置元素为给定的整形索引值
  6. GetChildElemIndex 得到当前子位置元素的整形索引值
  7. GotoChildElemIndex 设置当前子位置元素为给定的整形索引值
  8. GetParentElemIndex 获得当前父位置元素的整形索引值
  9. GotoParentElemIndex 设置当前父位置元素为给定的整形索引值
  10. GetElemPath 获得表示主位置元素绝对路径的字符串
  11. GetChildElemPath 获得表示子位置元素的绝对路径的字符串
  12. GetParentElemPath 获得表示父位置元素的绝对路径的字符串

 

 

 

 

 

 

 

 

 

 

 

10) 文档状态
  1. IsWellFormed 判定文档是否有单一根元素和恰当地包含元素
  2. GetError 从最后的解析中返回错误(信息)字符串
  3. GetDocFlags 返回文档标志
  4. SetDocFlags 设置文档标志
  5. GetDocElemCount 返回文档中元素的个数

 

 

 

 

11) 静态的实用函数
  1. ReadTextFile 读一个文本文件转成字符串
  2. WirteTextFile 写字符串到文本文件中
  3. GetDeclareEncoding XML声明中得到编码的名字
  4. EscapeText 返回标记中某一字符的编码
  5. UnescapeText 返回字符串值得某一特定字符解码
  6. UTF8ToA UTF-8字符转成非Unicode(如ANSI)字符
  7. AToUTF8 将非Unicode(如ANSI)字符转成UTF-8字符
  8. UTF16T08 UTF-16字符转成UTF-8
  9. UTF8To16 UTF-8字符转成UTF-16
  10. EncodeBase64 将二进制数据译成Base64字符串
  11. DecodeBase64 Base64字符译成二进制数据

 

 

 

 

 

 

 

 

 

 

 

 

自此,CMarkup的方法说明我已经翻译完成。有很多都是按照自己的理解或纯按字面意思翻译的。肯定还是理解不够准确地。后面的文章中,我会对每一个方法的代码进行一些简单分析,主要是给自己做技术积累用。欢迎大家指导! 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值