/// <summary> /// Initializes a new instance of the <see cref="ListNodeIterator"/> class. /// </summary> /// <param name="items">The items.</param> /// <param name="reverseOrder">if set to <c>true</c> [reverse order].</param> private ListNodeIterator(List <Item> items, bool reverseOrder) { this.reverseOrder = reverseOrder; this.list = new List <XPathNavigator>(); foreach (Item item in items) { if (item == null) { continue; } ItemNavigator nav = Factory.CreateItemNavigator(item); this.list.Add(nav.CreateNavigator()); } }
/// <summary> /// Gets an XPathNodeIterator for a set of items. /// </summary> /// <param name="idlist">Pipe-separated string containing Sitecore Item IDs</param> /// <returns>An XPathNodeIterator for the Sitecore item</returns> public new XPathNodeIterator Items(string idlist) { var items = new List <XPathNavigator>(); Database database = Sitecore.Context.Database; string[] ids = idlist.Trim(' ', '|').Split('|'); foreach (string id in ids) { Item item = database.GetItem(id, Sitecore.Context.ContentLanguage); if (item != null) { ItemNavigator nav = Factory.CreateItemNavigator(item); items.Add(nav.CreateNavigator()); } } return(new ListNodeIterator(items, false)); }
/// <summary> /// Gets an XPathNodeIterator for an item. /// </summary> /// <param name="id"> /// Sitecore Item ID /// </param> /// <returns> /// An XPathNodeIterator for the Sitecore item /// </returns> public XPathNodeIterator Item(string id) { var items = new List <XPathNavigator>(); Database database = Sitecore.Context.Database; if (string.IsNullOrEmpty(id)) { return(new ListNodeIterator()); } Item item = database.GetItem(id, Sitecore.Context.Language); if (item != null) { ItemNavigator nav = Factory.CreateItemNavigator(item); items.Add(nav.CreateNavigator()); } return(new ListNodeIterator(items, false)); }