执行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 作者:凌云文档