Umbraco 8-使用ContentAtXPath()方法获取节点的子级

问题描述 投票:0回答:1

我一直在重构现有的Umbraco项目,以便在取回文档数据时使用性能更高的查询,因为以前所有内容都是使用LINQ返回的。我一直在通过XPaths和Examine结合使用Umbraco的查询。

目前,我很想尝试使用Umbraco.ContentAtXPath()方法获取子文档。我想做的是根据我解析到该方法的路径获取子文档。这是我目前拥有的:

IEnumerable<IPublishedContent> umbracoPages = Umbraco.ContentAtXPath($"//* [@isDoc]/descendant::{path}");

运行此命令将返回“对象引用未设置为对象的实例。”错误,无法确切知道我要去哪里(在Umbraco中这种查询形式是新的)。

理想地,我想增强查询以使用非LINQ方法进行排序,如here所示。

xpath content-management-system umbraco umbraco8
1个回答
0
投票

直到Umbraco 8,内容都缓存在XML文件中,这使XPath成为有效查询内容的理想之选。但是,在v8中,所谓的“ NuCache”既不是基于文件的也不是基于XML的,因此XPath查询支持仅出于……好吧……旧时的缘故,我猜是吗?无论哪种方式,它都可能不会非常高效,并且(我建议)不要“瞄准”。就是说,我当然不知道您要更改的内容(Linq可能有很多事情):-/

© www.soinside.com 2019 - 2024. All rights reserved.