IHasXmlNode インターフェイス
アセンブリ: System.Xml (system.xml.dll 内)


IHasXmlNode インターフェイスは、クラスが現在のコンテキストまたは位置から XmlNode を返せるようにするインターフェイスを提供します。このインターフェイスは、XmlNode ノードのあるクラス上で動作する XPathNavigator オブジェクトによって実装されます。たとえば、XPathNavigator オブジェクトが XmlDocument によって作成される場合は、GetNode メソッドを使用して、ナビゲータの現在位置を表す XmlNode を返すことができます。

GetNode メソッドを使用して、選択されたノードを取得し、変更する例を次に示します。
Imports System 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
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); } }
#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 ); }
import System.*; import System.IO.*; import System.Xml.*; import System.Xml.XPath.*; public class Sample { public static void main(String[] args) { 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.get_Current())).GetNode(); book.get_LastChild().set_InnerText("12.95"); Console.WriteLine(book.get_OuterXml()); } //main } //Sample
この例では、入力として、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>

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IHasXmlNode メソッド
IHasXmlNode メンバ
Weblioに収録されているすべての辞書からIHasXmlNodeを検索する場合は、下記のリンクをクリックしてください。

- IHasXmlNodeのページへのリンク