From 49f3979d18b7e1acae0f289a69aa61c23406ee8c Mon Sep 17 00:00:00 2001 From: Stephan Date: Fri, 3 Feb 2017 19:28:43 +0100 Subject: [PATCH] U4-9487 - optimize initialization of xml nodes --- .../XmlPublishedCache/XmlPublishedContent.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs index 6d7864b874..d9ee6aa805 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs +++ b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs @@ -375,8 +375,26 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache } // load data - var dataXPath = UmbracoConfig.For.UmbracoSettings().Content.UseLegacyXmlSchema ? "data" : "* [not(@isDoc)]"; - var nodes = _xmlNode.SelectNodes(dataXPath); + //var dataXPath = UmbracoConfig.For.UmbracoSettings().Content.UseLegacyXmlSchema ? "data" : "* [not(@isDoc)]"; + //var nodes = _xmlNode.SelectNodes(dataXPath); + var nodes = new List(); + + var legacy = UmbracoConfig.For.UmbracoSettings().Content.UseLegacyXmlSchema; + foreach (XmlNode n in _xmlNode.ChildNodes) + { + var e = n as XmlElement; + if (e == null) continue; + if (legacy) + { + if (n.Name == "data") nodes.Add(n); + else break; + } + else + { + if (e.HasAttribute("isDoc") == false) nodes.Add(n); + else break; + } + } _contentType = PublishedContentType.Get(PublishedItemType.Content, _docTypeAlias);