Bagikan melalui


IHasXmlNode Antarmuka

Definisi

Memungkinkan kelas mengembalikan XmlNode dari konteks atau posisi saat ini.

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

Contoh

Contoh berikut menggunakan GetNode metode untuk mengambil dan memodifikasi simpul yang dipilih.

#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

Contohnya menggunakan file books.xml sebagai 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>

Keterangan

Antarmuka IHasXmlNode menyediakan antarmuka yang memungkinkan kelas mengembalikan XmlNode dari konteks atau posisi saat ini. Ini diimplementasikan oleh XPathNavigator objek yang beroperasi di atas kelas yang memiliki XmlNode simpul. Misalnya, jika XPathNavigator objek dibuat oleh XmlDocument, Anda dapat menggunakan GetNode metode untuk mengembalikan XmlNode yang mewakili posisi navigator saat ini.

Metode

GetNode()

Mengembalikan XmlNode untuk posisi saat ini.

Berlaku untuk