执行XPath搜索并以数组形式返回找到的节点。

此方法使用基础节点服务执行搜索。虽然此方法通过使用Jaxen提供对XPath语法的完全支持,但使用节点服务意味着搜索可能性能较差,尤其是对于诸如无约束全文搜索之类的查询。对于这种性质的搜索,最好使用xpathSearch(),它以更有限的XPath语法为代价提供基于索引的搜索。

应避免或谨慎使用以下语法格式,因为它们可能会消耗大量资源:

  • selectNodes with //
  • selectNodes with /*
  • selectNodes with like

一般来说,尽量避免使用 的selectNodes()方法, 除非是在指定路径下进行搜索。
通常优选使用搜索索引的查询语言。这避免了潜在的过度消耗资源。

selectNodes(search)

此方法在默认存储(workspace://SpacesStore)上执行XPath搜索,

参数

  • search
    检索文。

返回值

搜索结果的ScriptNode对象数组。

selectNodes(store, search)

此方法在指定存储上执行XPath搜索,

参数

  • store
    要执行搜索的存储。
  • search
    检索文。

返回值

搜索结果的ScriptNode对象数组。

代码例

var searchString = "//*"; // XPath search string
var store = "workspace://SpacesStore";

var nodes = search.selectNodes(store, searchString);

以下JavaScript代码段展示了典型的搜索查询:

// call in JS
model.nodes = search.selectNodes("/app:company_home/app:dictionary/*[like(@cm:name,'*templates')]");

若提供以下FTL模板:

<#list nodes as node>
  <p>${node.name}</p>
</#list>

结果将是:

Email Templates
Presentation Templates
Space Templates
RSS Templates
Node Templates
文档更新时间: 2019-07-07 15:18   作者:凌云文档