IHasXmlNode インターフェイス

定義

クラスが、現在のコンテキストまたは位置から XmlNode を返せるようにします。Enables a class to return an XmlNode from the current context or position.

public interface class IHasXmlNode
public interface IHasXmlNode
type IHasXmlNode = interface
Public Interface IHasXmlNode

次の例ではGetNode 、メソッドを使用して、選択したノードを取得し、変更します。The following example uses the GetNode method to retrieve and modify the selected node.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::XPath;
int main()
{
   XmlDocument^ doc = gcnew 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 = dynamic_cast<IHasXmlNode^>(ni->Current)->GetNode();
   book->LastChild->InnerText = "12.95";
   Console::WriteLine( book->OuterXml );
}

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);
    
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath

public class Sample

  public shared sub Main()

     Dim doc as XmlDocument = new XmlDocument()
     doc.Load("books.xml")
                         
     ' Create an XPathNavigator and select all books by Plato.
     Dim nav as XPathNavigator = doc.CreateNavigator()
     Dim ni as XPathNodeIterator = nav.Select("descendant::book[author/name='Plato']")
     ni.MoveNext()

     ' Get the first matching node and change the book price.
     Dim book as XmlNode = CType(ni.Current, IHasXmlNode).GetNode()
     book.LastChild.InnerText = "12.95"
     Console.WriteLine(book.OuterXml)
    
  end sub
end class

この例では、 books.xml入力としてファイルを使用します。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>

注釈

インターフェイスIHasXmlNodeは、クラスが現在のコンテキストまたは位置XmlNodeからを返すことを可能にするインターフェイスを提供します。The IHasXmlNode interface provides an interface that enables a class to return an XmlNode from the current context or position. これは、ノードXPathNavigatorを持つXmlNodeクラスを操作するオブジェクトによって実装されます。It is implemented by XPathNavigator objects that operate over classes that have XmlNode nodes. たとえば、 XPathNavigatorオブジェクトがにXmlDocumentよって作成されている場合、 GetNodeメソッドを使用してXmlNode 、ナビゲーターの現在位置を表すを返すことができます。For example, if the XPathNavigator object is created by an XmlDocument, you can use the GetNode method to return the XmlNode representing the current position of the navigator.

メソッド

GetNode()

現在位置の XmlNode を返します。Returns the XmlNode for the current position.

適用対象