Синхронизация времени при перемещении XPathNodeIterator и дочернего XPathNodeIterator

Я создал два XPathNodeIterator it а также childIt в моем коде

Фрагмент кода как этот,

string selectSfStr = "Equipment/Main/Sub";
            it = nav.Select(selectSfStr);

            while (it.MoveNext())
            {                
                ; // do something here

                if (it.Current.HasChildren)
                {


                    XPathNodeIterator childIt;
                    string selectChildSfStr = "//item";
                    childIt = nav.Select(selectChildSfStr);

                    while (childIt.MoveNext())
                    {
                           ; // do something here, but I found bug. The childIt can't move sychronized with the parent `it`.
                           ;// How can I synchronize `childIt` here when I moved to next `it`.
                    }
                 }
         }

мой XML-файл, вложенный с последовательностью Equipment/Main/Sub/item и есть много sub узлы и мульти item для каждого из sub узлы

1 ответ

Решение

В конце концов, я исправил эту ошибку,

while (it.MoveNext())
            {                
                // do something here


                if (it.Current.HasChildren)
                {


                    XPathNodeIterator childIt;
                    childIt = null;                    
                    childIt = it.Current.SelectChildren("item", ""); 

                    while (childIt.MoveNext())
                    {
                       // do something here

                       childIt.Current.MoveToParent();
                    }
                }
          }
Другие вопросы по тегам