IHasXmlNode Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite que uma classe retorne um XmlNode do contexto ou posição atual.
public interface class IHasXmlNode
public interface IHasXmlNode
type IHasXmlNode = interface
Public Interface IHasXmlNode
Exemplos
O exemplo a seguir usa o GetNode
método para recuperar e modificar o nó selecionado.
#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
O exemplo usa o arquivo books.xml
como entrada.
<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>
Comentários
A IHasXmlNode
interface fornece uma interface que permite que uma classe retorne um XmlNode do contexto ou posição atual. Ele é implementado por XPathNavigator objetos que operam em classes que têm XmlNode nós. Por exemplo, se o XPathNavigator
objeto for criado por um XmlDocument, você poderá usar o GetNode método para retornar a XmlNode
posição atual do navegador.
Métodos
GetNode() |
Retorna o XmlNode para a posição atual. |