Csharp/CSharp Tutorial/XML/XPathDocument
Create XPathDocument from xml file
<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>
<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(); XPathNavigator navigator = null; doc.Load(Application.StartupPath + @"\employees.xml"); navigator = doc.CreateNavigator(); navigator.MoveToRoot(); navigator.MoveToFirstChild(); while (navigator.MoveToNext()) { navigator.MoveToFirstChild(); do { string id = navigator.GetAttribute("employeeid", ""); if (id == "1") { navigator.MoveToFirstChild(); do { switch (navigator.Name) { case "firstname": Console.WriteLine(navigator.Value); break; case "lastname": Console.WriteLine(navigator.Value); break; case "homephone": Console.WriteLine(navigator.Value); break; case "notes": Console.WriteLine(navigator.Value); break; } } while (navigator.MoveToNext()); navigator.MoveToParent(); } } while (navigator.MoveToNext()); } navigator.MoveToRoot(); navigator.MoveToFirstChild(); while (navigator.MoveToNext()) { navigator.MoveToFirstChild(); do { string id = navigator.GetAttribute("employeeid", ""); if (id == "2") { navigator.MoveToFirstChild(); do { switch (navigator.Name) { case "firstname": navigator.SetValue("2"); break; case "lastname": navigator.SetValue("1"); break; case "homephone": navigator.SetValue("3"); break; case "notes": navigator.SetValue("4"); break; } } while (navigator.MoveToNext()); navigator.MoveToParent(); } } while (navigator.MoveToNext()); }
} }</source>