2013-09-18 4 views
0

В запросе linq-xml требуется больше времени для выполнения. Пожалуйста, направляйте меня просто на запрос или любые параметры, например, скомпилированный запрос (который недоступен для xml).Запрос Linq to XML слишком медленный

запрос выглядит следующим образом:

rootNode.Descendants(ns + "childNodeName") 
         .Where(
          childNode => 
          childNode.Descendants(ns + "grandChild") 
            .Any(grandChild=> grandChild.Attribute("attribute").Value.Equals("condString"))); 
+1

Пожалуйста, дайте нам больше контекста - насколько велик этот документ, сколько дочерних узлов есть и т. Д.? Могут ли элементы 'grandChild' действительно находиться где-нибудь под' childNodeName', или вы знаете больше о структуре? Сколько времени это занимает? –

ответ

0

Elements() быстрее, чем Descendants() так что если вы просто нужны дети, а не все потомки, а затем использовать Elements(). Основываясь на именах, которые вы используете, это звучит так, как будто это так.

В противном случае покажите нам свой XML.

Смежные вопросы