【发布时间】:2023-03-09 09:19:01
【问题描述】:
我需要针对一个文档评估多个 XPath 表达式。文档很大,所以我们使用流式解析器。 XPath 表达式只返回一个节点的值。我需要对 XPath 表达式进行排序,以便它们按文档顺序排列(因为一旦我评估了一个表达式,下一个表达式的评估就会从文档中找到最后一个值的点开始)。我有文档的架构,但我不确定如何使用它来建立订单。
如果这很重要,我正在使用带有 .NET 4 的 C#。如果有人能指出我正确的方向,我将不胜感激!
FOLLOWUP:正如 Dimitre 所指出的,这对于完整的 XPath 是不可能的。将表达式限制为XML Signature Streaming Profile,我能够构造一棵树,每个节点都包含元素名称和序号位置(它在模式中出现的顺序)。一旦我构建了树,我就用 XPath 遍历它,将位置收集到一个列表中。一旦我有了位置列表,就很容易比较列表并确定相对位置。
【问题讨论】: