Синхронизация времени при перемещении 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();
}
}
}