IHasXmlNode Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Permite que una clase devuelva XmlNode desde el contexto o la posición actuales.
public interface class IHasXmlNode
public interface IHasXmlNode
type IHasXmlNode = interface
Public Interface IHasXmlNode
Ejemplos
En el ejemplo siguiente se usa el GetNode
método para recuperar y modificar el nodo seleccionado.
#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
En el ejemplo se usa el archivo 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>
Comentarios
La IHasXmlNode
interfaz proporciona una interfaz que permite a una clase devolver un XmlNode objeto desde el contexto o posición actual. Se implementa mediante XPathNavigator objetos que operan a través de clases que tienen XmlNode nodos. Por ejemplo, si un elemento crea XmlDocumentel XPathNavigator
objeto , puede usar el GetNode método para devolver el XmlNode
que representa la posición actual del navegador.
Métodos
GetNode() |
Devuelve el XmlNode de la posición actual. |