XML 流 XPath 处理器算法

XML Stream XPath Processor Algorithm

我正在 java 中开发 XML 流 XPath 处理器,我期望做的是

1.) 将 Xpath 拆分为元素并将元素存储在队列中。

2.) 通过 SAX 遍历 XML 文件并在其 startElement() 方法中检查当前元素是否在队列中。

3.)如果在队列中,则将元素数据存储在characters(...)方法中。

我的做法对吗?我卡在了第一步,因为很难检查所有 xPath 命令来划分元素。有什么简单的方法可以实现第一步吗?

如果您定义了一个简单的 XPath 子集,例如

("/" name ( "[" integer "]" )? )*

然后解析它不是很困难,将它与 SAX 流中的事件匹配也不是很困难。 (尽管名称空间始终是一个挑战)。

但是你表达问题的方式让我怀疑即使是这个简化的问题也需要比你目前拥有的更多经验 and/or 计算机科学知识:你已经在问这样的问题这一事实向我暗示您对自己设定的挑战规模一无所知。