1

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

4

1 回答 1

0

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

  • 纯文本字符串
  • SAX 类型的回调
  • 基于上一层构建 DOM 的代码

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

尽管如此,如果您需要正确的架构/命名空间/xpath/etc 支持,仍有大量工作要做。

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

于 2013-01-10T10:55:12.720 回答