Csharp/C Sharp by API/System.Xml.XPath/XPathNodeIterator
XPathNodeIterator.Current.InsertAfter
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Xml; using System.Xml.XPath; public class MainClass {
public static void Main() { XmlDocument doc = new XmlDocument(); doc.Load("books.xml"); XPathNavigator nav = doc.CreateNavigator(); if (nav.CanEdit) { XPathNodeIterator iter = nav.Select("/bookstore/book/price"); while (iter.MoveNext()) { iter.Current.InsertAfter("<disc>5</disc>"); } } doc.Save("newbooks.xml"); }
}
</source>
XPathNodeIterator.Current.SelectDescendants
<source lang="csharp">
using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Xml; using System.Xml.XPath; public class MainClass {
public static void Main() { XPathDocument doc = new XPathDocument("books.xml"); XPathNavigator nav = ((IXPathNavigable)doc).CreateNavigator(); XPathNodeIterator iter = nav.Select("/bookstore/book[@genre="novel"]"); while (iter.MoveNext()) { XPathNodeIterator newIter = iter.Current.SelectDescendants(XPathNodeType.Element, false); while (newIter.MoveNext()) Console.WriteLine(newIter.Current.Name + ": " + newIter.Current.Value); } }
}
</source>
XPathNodeIterator.MoveNext()
<source lang="csharp"> using System; using System.Data; using System.Xml; using System.Xml.XPath; public class MainClass {
public static void Main() { XPathDocument doc = new XPathDocument( "sample.xml" ); XPathNavigator nav = doc.CreateNavigator(); XPathExpression xpe = nav.rupile( "//name" ); XPathNodeIterator ni = nav.Select( xpe ); while ( ni.MoveNext() ) { Console.WriteLine(ni.Current.Value); } }
}
</source>