私が使用しているコードは次のとおりです。
string m_myXML = "<parent>\n" +
" <child1>\n"+
" <child2a>\n"+
" <list1 attrib=\"one\" />\n"+
" <list2 attrib=\"two\" />\n"+
" </child2a>\n"+
" <child2b>\n"+
" <list1 attrib=\"one\" />\n"+
" <list2 attrib=\"two\" />\n"+
" </child2b>\n"+
" </child1>\n"+
"</parent>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(m_myXML);
XPathNavigator nav = doc.CreateNavigator();
XPathExpression expr;
expr = nav.Compile("/*/*"); //Select all children of top level parents
XPathNodeIterator iterator = nav.Select(expr);
その結果、iterator.Current.InnerXml は iterator.Current.OuterXml と同じになり、これは元の m_myXML と同じになります。iterator.MoveNext() を介してイテレータを次のイテレータに移動すると、最初の child1 がポイントされます。
私は何か間違ったことをしていますか?System.Xml などがどのように機能するはずなのか、そこにダミーに関する適切で詳細な説明はありますか?