다음을 통해 공유


IHasXmlNode 인터페이스

정의

클래스가 현재 컨텍스트나 위치에서 XmlNode를 반환할 수 있습니다.

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

예제

다음 예제에서는 메서드를 GetNode 사용하여 선택한 노드를 검색하고 수정합니다.

#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 입력으로 사용합니다.

<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 할 수 있도록 하는 인터페이스를 제공합니다. 노드가 있는 클래스를 통해 작동하는 개체에 XmlNode 의해 XPathNavigator 구현됩니다. 예를 들어 개체가 XPathNavigator 만들어진 경우 메서드를 XmlDocument사용하여 GetNode 탐색기의 현재 위치를 나타내는 값을 반환 XmlNode 할 수 있습니다.

메서드

GetNode()

현재 위치에 대한 XmlNode를 반환합니다.

적용 대상