我正在解析一个 Xml 文件。我在如何XPathNodeIterator
MoveNext()
在 C#2.0 中使用更合理时遇到了麻烦。
我的代码是这样的,
while (it.MoveNext())
{
string str = it.Current.GetAttribute("id", it.Current.NamespaceURI);
it.Current.MoveToChild("item", "");
// do someting....
// My XMl file is a complex Xml file. I must Move to multi layer Child with *MoveToChild()*.
// After that, I must add several *MoveToParent()* in different Layers to make sure the *it* still meet for the use of while loop.
// I think it doesn't make sense like this.
// Some time. the *it* can't still direct to my original layer. While-Loop doesn't work well.
}
我试图这样声明一个新的 XPathNodeIterator 对象tempIt,
while (it.MoveNext())
{
XPathNodeIterator tempIt;
tempIt= it;
string str = tempIt.Current.GetAttribute("id", tempIt.Current.NamespaceURI);
tempIt.Current.MoveToChild("item", "");
// Now I chech *it* on here, I found the *it* also changed it's *current* and "position". and it's count also changed.
// I don't know why.
}
我该如何解决这个问题?
感谢您的意见和建议。