我正在维护我工作的公司的一个遗留工具,用 C# 编写,并将其转换为 .Net 标准 2.0。它使用Saxon-HE处理器来处理一些 XPath 并替换文件中的一些配置。它在 .NET 上的NuGet 包具有不允许在所有 .Net 标准 2.0 兼容平台(在我的情况下是 .Net Framework 和 .Net 核心)上执行的依赖项,因此我需要用另一种工具替换它,如果标准的 .Net XPath 库。
问题是该工具使用一些 XPaths 来执行复杂的操作,例如连接字符串和选择一个数组项,我不知道它是特定于撒克逊的语法还是标准。
了解这一点很重要,因为如果 XPath 符合某些 XPath 标准,我可以找到另一种方法来处理相同的 XPath。
下面是一些例子:
第一的:
for $row in /Item/SubItem[*]/SubSubItem return(concat($row, \"/ConcatValue\"))
第二:
/Item/SubItem[*]/SubSubItem/(add[@key=\"TheKey\"]/@value/string(), '')[1]
您对这种 XPath 语法有所了解吗?
谢谢