VTD-XML学习(4)——步骤&类

xml步骤

通常需要执行以下步骤来处理XML文档或消息。

  1. 从字节缓冲区开始:如果文档位于磁盘上,则需要先将文件加载到内存中;对于传入的SOAP消息,需要分配一个字节数组来保存内容。从1.6版开始,可以直接使用“ VTDGen :: parseFile()”来解析XML文件。

  2. 使用VTDGen进行解析:在这一步中,创建一个VTDGen类的实例,然后使用“ setDoc”成员方法将字节数组分配给VTDGen对象。然后,调用“ parse”以生成VTD缓冲区和分层信息。

  3. 使用VTDNav导航:如果解析没有返回错误,请调用VTDGen的“ getNav”以检索VTDNav对象。核心导航功能是“ toElement”。它需要六个预定义整数之一来确定实际的导航操作。这些整数(不言自明)是:ROOT,PARENT,FIRST_CHILD,LAST_CHILD,NEXT_SIBLING和PREV_SIBLING。为了减少键入的数量,这六个常量也有短名称:R,P,FC,LC,NS和PS。VTDNav还包含执行VTD与字符串比较并将VTD转换为String或数字数据的各种成员方法。在下一部分中,我们将对VTDNav进行更详细的描述。

  4. 使用Autopilot遍历节点:此类包含模仿DOM的节点迭代器的成员方法。将来,我们将向其中添加XPath功能。

  5. 使用AutoPilot进行XPath评估

  6. 使用XMLModifier进行的增量更新

vtd-xml源码结构如下:

folder:

  • extended:拓展包,将最大文件支持拓展为G
  • parser:解析器,里面包含各种编码解析器
  • transcode:转码器,进行编码转换
  • xpath:xpath操作支持


class
基本类:

  • VTD Generator:VTDGen是封装主要解析,索引加载和索引读取功能的类
  • VTD Navigator:VTDNav是(1)封装XML,VTD和层次结构信息的类(2)包含各种导航功能(3)执行各种比较以及VTD与字符串或数字数据转换功能的类
  • Autopilot:一个类,包含执行节点级迭代和XPath的函数。
  • XMLModifier:利用VTD-XML的增量更新功能的类

其他类/接口:

  • ILongBuffer:这是VTD记录容器的接口。
  • FastLongBuffer:此类实现ILongBuffer接口。在后台,它是一个基于块的缓冲区,将自动增长。
  • NodeRecorder:保存节点位置。
  • BookMark:一种可散列的,可比的方式,用于保存光标位置的单个副本。
  • TextIterator:此类允许访问混合内容文档中的文本节点。
  • ParseException:解析期间任何异常情况的根类
  • NavException:导航期间任何异常的根类
  • XPathEvalException:在XPath评估期间发生异常时抛出
  • XPathParseException:在XPathExpr的构造过程中发生错误时引发
  • XMLModiferException:在修改XML文档期间出现异常情况时抛出

你可能感兴趣的:(WebService)