Core.Xml - support XPathExpression
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System.Linq;
|
||||
using System.Xml.XPath;
|
||||
using Umbraco.Core.Dynamics;
|
||||
using Umbraco.Core.Xml;
|
||||
using Umbraco.Web.Models;
|
||||
@@ -36,6 +37,19 @@ namespace Umbraco.Web
|
||||
return content == null ? new DynamicNull() : new DynamicPublishedContent(content).AsDynamic();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a dynamic content resulting from an XPath query.
|
||||
/// </summary>
|
||||
/// <param name="cache">The contextual cache.</param>
|
||||
/// <param name="xpath">The XPath query.</param>
|
||||
/// <param name="vars">Optional XPath variables</param>
|
||||
/// <returns>The dynamic content, or null.</returns>
|
||||
public static dynamic GetDynamicSingleByXPath(this ContextualPublishedContentCache cache, XPathExpression xpath, params XPathVariable[] vars)
|
||||
{
|
||||
var content = cache.GetSingleByXPath(xpath, vars);
|
||||
return content == null ? new DynamicNull() : new DynamicPublishedContent(content).AsDynamic();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets dynamic contents resulting from an XPath query.
|
||||
/// </summary>
|
||||
@@ -49,6 +63,19 @@ namespace Umbraco.Web
|
||||
return new DynamicPublishedContentList(content.Select(c => new DynamicPublishedContent(c)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets dynamic contents resulting from an XPath query.
|
||||
/// </summary>
|
||||
/// <param name="cache">The contextual cache.</param>
|
||||
/// <param name="xpath">The XPath query.</param>
|
||||
/// <param name="vars">Optional XPath variables</param>
|
||||
/// <returns>The dynamic contents.</returns>
|
||||
public static dynamic GetDynamicByXPath(this ContextualPublishedContentCache cache, XPathExpression xpath, params XPathVariable[] vars)
|
||||
{
|
||||
var content = cache.GetByXPath(xpath, vars);
|
||||
return new DynamicPublishedContentList(content.Select(c => new DynamicPublishedContent(c)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets dynamic contents at root.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user