<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FXML%2FXml_Node</id>
		<title>Csharp/CSharp Tutorial/XML/Xml Node - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FXML%2FXml_Node"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Node&amp;action=history"/>
		<updated>2026-04-30T12:25:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Node&amp;diff=5872&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Node&amp;diff=5872&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Node&amp;diff=5873&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/XML/Xml_Node&amp;diff=5873&amp;oldid=prev"/>
				<updated>2010-05-26T12:17:37Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Append element==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
    XmlDocument doc = new XmlDocument();&lt;br /&gt;
    doc.LoadXml(&amp;quot;&amp;lt;book genre=&amp;quot;programming&amp;quot;&amp;gt;&amp;quot; +&lt;br /&gt;
      &amp;quot;&amp;lt;title&amp;gt;Programming&amp;lt;/title&amp;gt;&amp;quot; +&lt;br /&gt;
      &amp;quot;&amp;lt;/book&amp;gt;&amp;quot;);&lt;br /&gt;
    XmlNode root = doc.DocumentElement;&lt;br /&gt;
    XmlElement newbook = doc.CreateElement(&amp;quot;price&amp;quot;);&lt;br /&gt;
    newbook.InnerText=&amp;quot;44.95&amp;quot;;&lt;br /&gt;
    root.AppendChild(newbook);&lt;br /&gt;
    doc.Save(Console.Out);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;gb2312&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;book genre=&amp;quot;programming&amp;quot;&amp;gt;&lt;br /&gt;
  Programming&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;price&amp;gt;44.95&amp;lt;/price&amp;gt;&lt;br /&gt;
&amp;lt;/book&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Check for Xml node name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
    class Program{&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            XmlDocument itemDoc = new XmlDocument();&lt;br /&gt;
            itemDoc.Load(&amp;quot;items.xml&amp;quot;);&lt;br /&gt;
            Console.WriteLine(&amp;quot;DocumentElement has {0} children.&amp;quot;,itemDoc.DocumentElement.ChildNodes.Count);&lt;br /&gt;
            foreach (XmlNode itemNode in itemDoc.DocumentElement.ChildNodes)&lt;br /&gt;
            {&lt;br /&gt;
                XmlElement itemElement = (XmlElement)itemNode;&lt;br /&gt;
                Console.WriteLine(&amp;quot;\n[Item]: {0}\n{1}&amp;quot;, itemElement.Attributes[&amp;quot;name&amp;quot;].Value,itemElement.Attributes[&amp;quot;description&amp;quot;].Value);&lt;br /&gt;
                if (itemNode.ChildNodes.Count == 0)&lt;br /&gt;
                    Console.WriteLine(&amp;quot;(No additional Information)\n&amp;quot;);&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    foreach (XmlNode childNode in itemNode.ChildNodes)&lt;br /&gt;
                    {&lt;br /&gt;
                        if (childNode.Name.ToUpper() == &amp;quot;ATTRIBUTE&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            Console.WriteLine(&amp;quot;{0} : {1}&amp;quot;,&lt;br /&gt;
                                childNode.Attributes[&amp;quot;name&amp;quot;].Value,&lt;br /&gt;
                                childNode.Attributes[&amp;quot;value&amp;quot;].Value);&lt;br /&gt;
                        }&lt;br /&gt;
                        else if (childNode.Name.ToUpper() == &amp;quot;SPECIALS&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            foreach (XmlNode specialNode in childNode.ChildNodes)&lt;br /&gt;
                            {&lt;br /&gt;
                                Console.WriteLine(&amp;quot;*{0}:{1}&amp;quot;,&lt;br /&gt;
                                    specialNode.Attributes[&amp;quot;name&amp;quot;].Value,&lt;br /&gt;
                                    specialNode.Attributes[&amp;quot;description&amp;quot;].Value);&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Extract &amp;lt;member&amp;gt; elements for types==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
   class Program&lt;br /&gt;
   {&lt;br /&gt;
      static void Main(string[] args)&lt;br /&gt;
      {&lt;br /&gt;
         XmlDocument documentation = new XmlDocument();&lt;br /&gt;
         documentation.Load(&amp;quot;a.xml&amp;quot;);&lt;br /&gt;
         XmlNodeList memberNodes = documentation.SelectNodes(&amp;quot;//member&amp;quot;);&lt;br /&gt;
         List&amp;lt;XmlNode&amp;gt; typeNodes = new List&amp;lt;XmlNode&amp;gt;();&lt;br /&gt;
         foreach (XmlNode node in memberNodes)&lt;br /&gt;
         {&lt;br /&gt;
            if (node.Attributes[&amp;quot;name&amp;quot;].Value.StartsWith(&amp;quot;T&amp;quot;))&lt;br /&gt;
            {&lt;br /&gt;
               typeNodes.Add(node);&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
         Console.WriteLine(&amp;quot;Types:&amp;quot;);&lt;br /&gt;
         foreach (XmlNode node in typeNodes)&lt;br /&gt;
         {&lt;br /&gt;
            Console.WriteLine(&amp;quot;- {0}&amp;quot;, node.Attributes[&amp;quot;name&amp;quot;].Value.Substring(2));&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find nodes by name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  private static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    XmlDocument doc = new XmlDocument();&lt;br /&gt;
        doc.Load(@&amp;quot;Sample.xml&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    XmlNodeList prices = doc.GetElementsByTagName(&amp;quot;productPrice&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    XmlNode product = doc.GetElementsByTagName(&amp;quot;products&amp;quot;)[0];&lt;br /&gt;
    //XmlNode price = ((XmlElement)product).GetElementsByTagName(&amp;quot;productPrice&amp;quot;)[0];&lt;br /&gt;
        &lt;br /&gt;
        foreach (XmlNode price in prices)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(price.ChildNodes[0].Value);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Get current value and depth during the XML document reading process==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        XmlTextReader reader = new XmlTextReader(@&amp;quot;C:\books.xml&amp;quot;);&lt;br /&gt;
        while (reader.Read())&lt;br /&gt;
        {&lt;br /&gt;
            if (reader.HasValue)&lt;br /&gt;
            {                                       &lt;br /&gt;
                Console.WriteLine(&amp;quot;Name: &amp;quot;+reader.Name);&lt;br /&gt;
                Console.WriteLine(&amp;quot;Level of the node: &amp;quot; +reader.Depth.ToString());&lt;br /&gt;
                Console.WriteLine(&amp;quot;Value: &amp;quot;+reader.Value);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Get &amp;lt;member&amp;gt; elements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
   class Program&lt;br /&gt;
   {&lt;br /&gt;
      static void Main(string[] args)&lt;br /&gt;
      {&lt;br /&gt;
         XmlDocument documentation = new XmlDocument();&lt;br /&gt;
         documentation.Load(&amp;quot;a.xml&amp;quot;);&lt;br /&gt;
         XmlNodeList memberNodes = documentation.SelectNodes(&amp;quot;//member&amp;quot;);&lt;br /&gt;
         List&amp;lt;XmlNode&amp;gt; typeNodes = new List&amp;lt;XmlNode&amp;gt;();&lt;br /&gt;
         foreach (XmlNode node in memberNodes)&lt;br /&gt;
         {&lt;br /&gt;
            if (node.Attributes[&amp;quot;name&amp;quot;].Value.StartsWith(&amp;quot;T&amp;quot;))&lt;br /&gt;
            {&lt;br /&gt;
               typeNodes.Add(node);&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
         Console.WriteLine(&amp;quot;Types:&amp;quot;);&lt;br /&gt;
         foreach (XmlNode node in typeNodes)&lt;br /&gt;
         {&lt;br /&gt;
            Console.WriteLine(&amp;quot;- {0}&amp;quot;, node.Attributes[&amp;quot;name&amp;quot;].Value.Substring(2));&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Insert after==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
        XmlDocument xmlDoc = new XmlDocument();&lt;br /&gt;
        xmlDoc.Load(@&amp;quot;c:\\books.xml&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        XmlDocumentFragment xmlDocFragment = xmlDoc.CreateDocumentFragment();&lt;br /&gt;
        xmlDocFragment.InnerXml=&amp;quot;&amp;lt;F&amp;gt;&amp;lt;S&amp;gt;Data&amp;lt;/S&amp;gt;&amp;lt;/F&amp;gt;&amp;quot;;&lt;br /&gt;
        XmlNode aNode = xmlDoc.DocumentElement.FirstChild;&lt;br /&gt;
        aNode.InsertAfter(xmlDocFragment, aNode.LastChild);&lt;br /&gt;
        xmlDoc.Save(Console.Out);&lt;br /&gt;
    }       &lt;br /&gt;
 &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Read XML document by node type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int DecCounter=0, PICounter=0, DocCounter=0, CommentCounter=0, ElementCounter=0, AttributeCounter=0, TextCounter=0, WhitespaceCounter=0;&lt;br /&gt;
        XmlTextReader reader = new XmlTextReader(@&amp;quot;C:\books.xml&amp;quot;);&lt;br /&gt;
        while (reader.Read())&lt;br /&gt;
        {&lt;br /&gt;
            XmlNodeType type = reader.NodeType; &lt;br /&gt;
            switch (type) {&lt;br /&gt;
                case XmlNodeType.XmlDeclaration:&lt;br /&gt;
                    DecCounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.ProcessingInstruction:&lt;br /&gt;
                    PICounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.DocumentType:&lt;br /&gt;
                    DocCounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.rument:&lt;br /&gt;
                    CommentCounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.Element:&lt;br /&gt;
                    ElementCounter++;&lt;br /&gt;
                    if (reader.HasAttributes)&lt;br /&gt;
                        AttributeCounter += reader.AttributeCount;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.Text:&lt;br /&gt;
                    TextCounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
                case XmlNodeType.Whitespace:&lt;br /&gt;
                    WhitespaceCounter++;&lt;br /&gt;
                    break;&lt;br /&gt;
            }               &lt;br /&gt;
        }&lt;br /&gt;
        Console.WriteLine(&amp;quot;White Spaces:&amp;quot; +WhitespaceCounter.ToString());&lt;br /&gt;
        Console.WriteLine(&amp;quot;Process Instructions:&amp;quot; +PICounter.ToString());&lt;br /&gt;
        Console.WriteLine(&amp;quot;Declaration:&amp;quot; +DecCounter.ToString());&lt;br /&gt;
        Console.WriteLine(&amp;quot;White Spaces:&amp;quot; +DocCounter.ToString());&lt;br /&gt;
        Console.WriteLine(&amp;quot;Comments:&amp;quot; +CommentCounter.ToString());&lt;br /&gt;
        Console.WriteLine(&amp;quot;Attributes:&amp;quot; +AttributeCounter.ToString());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recursively display XmlNode==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  public static void Main() &lt;br /&gt;
  {&lt;br /&gt;
    XmlTextReader xtr = new XmlTextReader(@&amp;quot;c:\test.xml&amp;quot;);&lt;br /&gt;
    xtr.WhitespaceHandling = WhitespaceHandling.None;&lt;br /&gt;
    XmlDocument xd = new XmlDocument();&lt;br /&gt;
    xd.Load(xtr);&lt;br /&gt;
    XmlNode xnodDE = xd.DocumentElement;&lt;br /&gt;
    ChildDisplay(xnodDE, 0);&lt;br /&gt;
    xtr.Close();&lt;br /&gt;
  }&lt;br /&gt;
  private static void ChildDisplay(XmlNode xnod, int level)&lt;br /&gt;
  {&lt;br /&gt;
    XmlNode xnodWorking;&lt;br /&gt;
    String pad = new String(&amp;quot; &amp;quot;, level * 2);&lt;br /&gt;
    Console.WriteLine(pad + xnod.Name + &amp;quot;(&amp;quot; + xnod.NodeType.ToString() + &amp;quot;: &amp;quot; + xnod.Value + &amp;quot;)&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    if (xnod.NodeType == XmlNodeType.Element)&lt;br /&gt;
    {&lt;br /&gt;
      XmlNamedNodeMap mapAttributes = xnod.Attributes;&lt;br /&gt;
      for(int i=0; i&amp;lt;mapAttributes.Count; i++)&lt;br /&gt;
      {&lt;br /&gt;
        Console.WriteLine(pad + &amp;quot; &amp;quot; + mapAttributes.Item(i).Name + &amp;quot; = &amp;quot; +  mapAttributes.Item(i).Value);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (xnod.HasChildNodes)&lt;br /&gt;
    {&lt;br /&gt;
      xnodWorking = xnod.FirstChild;&lt;br /&gt;
      while (xnodWorking != null)&lt;br /&gt;
      {&lt;br /&gt;
        ChildDisplay(xnodWorking, level+1);&lt;br /&gt;
        xnodWorking = xnodWorking.NextSibling;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;MyTestElements(Element: )&lt;br /&gt;
  TestBoolean(Element: )&lt;br /&gt;
    #text(Text: true)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Replace Children==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
        XmlDocument xmlDoc = new XmlDocument();&lt;br /&gt;
        xmlDoc.LoadXml(&amp;quot;&amp;lt;Record&amp;gt; Some Value &amp;lt;/Record&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        XmlElement root = xmlDoc.DocumentElement;&lt;br /&gt;
        string str = root.ToString();&lt;br /&gt;
    XmlDocumentFragment xmlDocFragment = xmlDoc.CreateDocumentFragment();&lt;br /&gt;
    xmlDocFragment.InnerXml=&amp;quot;&amp;lt;F&amp;gt;&amp;lt;S&amp;gt;Data&amp;lt;/S&amp;gt;&amp;lt;/F&amp;gt;&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
    XmlElement rootNode = xmlDoc.DocumentElement;&lt;br /&gt;
   &lt;br /&gt;
    rootNode.ReplaceChild(xmlDocFragment, rootNode.LastChild);&lt;br /&gt;
        xmlDoc.Save(Console.Out);&lt;br /&gt;
  }    &lt;br /&gt;
 &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;gb2312&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Record&amp;gt;&lt;br /&gt;
  &amp;lt;F&amp;gt;&lt;br /&gt;
    &amp;lt;S&amp;gt;Data&amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;/F&amp;gt;&lt;br /&gt;
&amp;lt;/Record&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Root Node==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class XmlWriterSamp&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
        XmlDocument xmlDoc = new XmlDocument();&lt;br /&gt;
        xmlDoc.LoadXml(&amp;quot;&amp;lt;Record&amp;gt; Some Value &amp;lt;/Record&amp;gt;&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        XmlElement root = xmlDoc.DocumentElement;&lt;br /&gt;
        string str = root.ToString();&lt;br /&gt;
    xmlDoc.RemoveAll();&lt;br /&gt;
    xmlDoc.Save(Console.Out);&lt;br /&gt;
  }    &lt;br /&gt;
 &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Select By Specific Author Node==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        XmlDocument mDocument = new XmlDocument();&lt;br /&gt;
        XmlNode mCurrentNode;&lt;br /&gt;
        mDocument.Load(&amp;quot;XPathQuery.xml&amp;quot;);&lt;br /&gt;
        mCurrentNode = mDocument.DocumentElement;&lt;br /&gt;
        XmlNodeList nodeList = mCurrentNode.SelectNodes(&amp;quot;//book[author=&amp;quot;J&amp;quot;]&amp;quot;);&lt;br /&gt;
        DisplayList(nodeList);&lt;br /&gt;
    }&lt;br /&gt;
    static void DisplayList(XmlNodeList nodeList)&lt;br /&gt;
    {&lt;br /&gt;
        foreach (XmlNode node in nodeList)&lt;br /&gt;
        {&lt;br /&gt;
            RecurseXmlDocumentNoSiblings(node);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    static void RecurseXmlDocumentNoSiblings(XmlNode root)&lt;br /&gt;
    {&lt;br /&gt;
        if (root is XmlElement)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(root.Name);&lt;br /&gt;
            if (root.HasChildNodes)&lt;br /&gt;
                RecurseXmlDocument(root.FirstChild);&lt;br /&gt;
        }&lt;br /&gt;
        else if (root is XmlText)&lt;br /&gt;
        {&lt;br /&gt;
            string text = ((XmlText)root).Value;&lt;br /&gt;
            Console.WriteLine(text);&lt;br /&gt;
        }&lt;br /&gt;
        else if (root is XmlComment)&lt;br /&gt;
        {&lt;br /&gt;
            string text = root.Value;&lt;br /&gt;
            Console.WriteLine(text);&lt;br /&gt;
            if (root.HasChildNodes)&lt;br /&gt;
                RecurseXmlDocument(root.FirstChild);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    static void RecurseXmlDocument(XmlNode root)&lt;br /&gt;
    {&lt;br /&gt;
        if (root is XmlElement)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(root.Name);&lt;br /&gt;
            if (root.HasChildNodes)&lt;br /&gt;
                RecurseXmlDocument(root.FirstChild);&lt;br /&gt;
            if (root.NextSibling != null)&lt;br /&gt;
                RecurseXmlDocument(root.NextSibling);&lt;br /&gt;
        }&lt;br /&gt;
        else if (root is XmlText)&lt;br /&gt;
        {&lt;br /&gt;
            string text = ((XmlText)root).Value;&lt;br /&gt;
            Console.WriteLine(text);&lt;br /&gt;
        }&lt;br /&gt;
        else if (root is XmlComment)&lt;br /&gt;
        {&lt;br /&gt;
            string text = root.Value;&lt;br /&gt;
            Console.WriteLine(text);&lt;br /&gt;
            if (root.HasChildNodes)&lt;br /&gt;
                RecurseXmlDocument(root.FirstChild);&lt;br /&gt;
            if (root.NextSibling != null)&lt;br /&gt;
                RecurseXmlDocument(root.NextSibling);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Select node by node text==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
    public class MainClass&lt;br /&gt;
    {&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            XmlNodeList list=null;&lt;br /&gt;
            XmlDocument doc = new XmlDocument();&lt;br /&gt;
            doc.Load(Application.StartupPath + &amp;quot;/employees.xml&amp;quot;);&lt;br /&gt;
            list = doc.SelectNodes(&amp;quot;//employee[./firstname/text()=&amp;quot;asdf&amp;quot;]&amp;quot;);&lt;br /&gt;
            foreach (XmlNode node in list)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(node.Attributes[&amp;quot;employeeid&amp;quot;].Value);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Select Nodes By Namespace from XmlDocument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
public class MainClass &lt;br /&gt;
{&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  private static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    XmlDocument doc = new XmlDocument();&lt;br /&gt;
    doc.Load(&amp;quot;Sample.xml&amp;quot;);&lt;br /&gt;
    XmlNodeList matches = doc.GetElementsByTagName(&amp;quot;*&amp;quot;, &amp;quot;http://mycompany/OrderML&amp;quot;);&lt;br /&gt;
    foreach (XmlNode node in matches)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(node.Name );&lt;br /&gt;
      foreach (XmlAttribute attribute in node.Attributes)&lt;br /&gt;
      {&lt;br /&gt;
        Console.WriteLine(attribute.Value);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Select nodes from XmlDocument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Net;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        WebClient client = new WebClient();&lt;br /&gt;
        string rssFeed = client.DownloadString(&amp;quot;http://blogs.apress.ru/wp-rss2.php&amp;quot;);&lt;br /&gt;
        XmlDocument doc = new XmlDocument();&lt;br /&gt;
        doc.LoadXml(rssFeed);&lt;br /&gt;
        XmlNodeList nodes = doc.SelectNodes(&amp;quot;rss/channel/item/title&amp;quot;);&lt;br /&gt;
        foreach (XmlNode node in nodes)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(node.InnerText);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Write types to the console==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
   class Program&lt;br /&gt;
   {&lt;br /&gt;
      static void Main(string[] args)&lt;br /&gt;
      {&lt;br /&gt;
         XmlDocument documentation = new XmlDocument();&lt;br /&gt;
         documentation.Load(&amp;quot;a.xml&amp;quot;);&lt;br /&gt;
         XmlNodeList memberNodes = documentation.SelectNodes(&amp;quot;//member&amp;quot;);&lt;br /&gt;
         List&amp;lt;XmlNode&amp;gt; typeNodes = new List&amp;lt;XmlNode&amp;gt;();&lt;br /&gt;
         foreach (XmlNode node in memberNodes)&lt;br /&gt;
         {&lt;br /&gt;
            if (node.Attributes[&amp;quot;name&amp;quot;].Value.StartsWith(&amp;quot;T&amp;quot;))&lt;br /&gt;
            {&lt;br /&gt;
               typeNodes.Add(node);&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
         Console.WriteLine(&amp;quot;Types:&amp;quot;);&lt;br /&gt;
         foreach (XmlNode node in typeNodes)&lt;br /&gt;
         {&lt;br /&gt;
            Console.WriteLine(&amp;quot;- {0}&amp;quot;, node.Attributes[&amp;quot;name&amp;quot;].Value.Substring(2));&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==XmlNode: InsertAfter FirstChild==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
        XmlDocument xmlDoc = new XmlDocument();&lt;br /&gt;
        xmlDoc.Load(@&amp;quot;c:\\Sample.xml&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        XmlDocumentFragment xmlDocFragment = xmlDoc.CreateDocumentFragment();&lt;br /&gt;
        xmlDocFragment.InnerXml=&amp;quot;&amp;lt;F&amp;gt;&amp;lt;S&amp;gt;Data&amp;lt;/S&amp;gt;&amp;lt;/F&amp;gt;&amp;quot;;&lt;br /&gt;
        XmlNode aNode = xmlDoc.DocumentElement.FirstChild;&lt;br /&gt;
        aNode.InsertAfter(xmlDocFragment, aNode.LastChild);&lt;br /&gt;
        xmlDoc.Save(Console.Out);&lt;br /&gt;
    }       &lt;br /&gt;
 &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Xml Node List==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(){&lt;br /&gt;
        &lt;br /&gt;
        string xml = new WebClient().DownloadString(&amp;quot;http://blogs.apress.ru/wp-rss2.php&amp;quot;);&lt;br /&gt;
        XmlDocument doc = new XmlDocument();&lt;br /&gt;
        doc.LoadXml(xml);&lt;br /&gt;
        ProcessNodes(doc.ChildNodes);&lt;br /&gt;
    }&lt;br /&gt;
    private static void ProcessNodes(XmlNodeList nodes)&lt;br /&gt;
    {&lt;br /&gt;
        foreach (XmlNode node in nodes)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(string.Format(&amp;quot;{0} - {1} - {2}&amp;quot;,node.GetType().Name, node.Name,node.Value));&lt;br /&gt;
            if (node.HasChildNodes)&lt;br /&gt;
                ProcessNodes(node.ChildNodes);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>