如何为 findNodeKeyByPath() 构造有效参数?

How to construct a valid parameter for findNodeKeyByPath()?

要访问 SAP 树中的项目,大多数方法都需要一个标识节点的键。要获得这样的密钥,您需要函数 findNodeKeyByPath()。描述说:

Return the node key for the given path (e.g. 2).
path The node path. STRING.

我需要获取树中第一项的第一个子项。使用 "0" 会引发异常。根元素的索引似乎从 1 而不是 0 开始。使用 "1""2" 给我正确的键。

但是我用反斜杠尝试的任何操作都不起作用。 "1[=14=]" 不会抛出异常,"1" 也不会。但是两个参数 return 节点的键 "1" 而不是子节点的键。

如何在 SilkTest (Silk4J, SAP) 中构建 path 以获得有效密钥?

在Java中,""是ASCII字符0x01的八进制表示。参见 What does represent。字符串 "1\1" 给出了有效路径,returns 给出了正确的密钥。

但是节点必须可见,否则返回空字符串。这意味着,您需要以下代码:

SapTree tree = ...; // initialize somewhere
String parentKey = tree.findNodeKeyByPath("1");
tree.expandNode(parentKey);
String key = tree.findNodeKeyByPath("1\1");