IHasXmlNode Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Umożliwia klasie zwracanie elementu XmlNode z bieżącego kontekstu lub położenia.
public interface class IHasXmlNode
public interface IHasXmlNode
type IHasXmlNode = interface
Public Interface IHasXmlNode
Przykłady
W poniższym przykładzie użyto GetNode
metody do pobrania i zmodyfikowania wybranego węzła.
#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
W przykładzie użyto pliku books.xml
jako danych wejściowych.
<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>
Uwagi
Interfejs IHasXmlNode
udostępnia interfejs, który umożliwia klasie zwracanie elementu XmlNode z bieżącego kontekstu lub położenia. Jest on implementowany przez XPathNavigator obiekty, które działają nad klasami, które mają XmlNode węzły. Jeśli na przykład XPathNavigator
obiekt jest tworzony przez XmlDocumentelement , możesz użyć GetNode metody , aby zwrócić reprezentację XmlNode
bieżącej pozycji nawigatora.
Metody
GetNode() |
Zwraca wartość XmlNode dla bieżącej pozycji. |