System.Xml.IHasXmlNode Interface

Assembly: System.Xml.dll
Namespace: System.Xml
Summary
Enables a class to return an XmlNode from the current context or position.
C# Syntax:
public interface IHasXmlNode
Remarks
The IHasXmlNode interface provides an interface that enables a class to return an XmlNode from the current context or position. It is implemented by XPathNavigator objects that operate over classes that have XmlNode nodes. For example, if the XPathNavigator object is created by an XmlDocument, you can use the the IHasXmlNode.GetNode method to return the XmlNode representing the current position of the navigator.
Example
The following example uses the GetNode method to retrieve and modify the selected node.
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;

public class Sample
{
  public static void Main()
  {
     XmlDocument doc = new XmlDocument();
     doc.Load("books.xml");
                         
     // Create an XPathNavigator and select all books by Plato.
     XPathNavigator nav = doc.CreateNavigator();
     XPathNodeIterator ni = nav.Select("descendant::book[author/name='Plato']");
     ni.MoveNext();

     // Get the first matching node and change the book price.
     XmlNode book = ((IHasXmlNode)ni.Current).GetNode();
     book.LastChild.InnerText = "12.95";
     Console.WriteLine(book.OuterXml);
    
  }
}

    
The example uses the file, books.xml, as input.
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

    
See also:
System.Xml Namespace

System.Xml.IHasXmlNode Member List:

Public Methods
GetNode Returns the XmlNode for the current position.

System.Xml.IHasXmlNode Member Details

Method: GetNode()
Summary
Returns the XmlNode for the current position.
C# Syntax:
XmlNode GetNode();
Return Value:
The XmlNode for the current position.
Remarks
The following C# code uses GetNode to access a node the XPathNavigator is currently positioned on.
              XmlDocument doc = new XmlDocument();
              doc.Load("books.xml");
              XPathNavigator nav =  doc.CreateNavigator();
              XmlNode node = ((IHasXmlNode)nav).GetNode();
              Console.WriteLine(node.LocalName); 
              //You can edit the returned XmlNode.
            

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.