Xml使用状态机进行解析

时间:2013-01-10 08:27:57

标签: c++ xml parsing state-machine

在状态机中实现xml解析是一种好习惯吗?如果是,我们必须处理哪些主要州?

1 个答案:

答案 0 :(得分:0)

好吧,如果你是“从头开始”编写自己的解析器 - 那么你应该制作这样一个三明治:

  • 纯文本字符串
  • SAX类型的回调
  • 根据以前的级别构建DOM的代码

所以级别1可以(并且应该)在FSM中完成,我会用一组状态来完成,比如Initial,InTagName,InAttrName,InAttrValue,InCDATA等。不会有太多,只有一对页面切换语句。

但是,如果您需要正确的架构/命名空间/ xpath / etc支持,仍然有很多工作要做。

那么为什么不采用现有的解决方案?