IHasXmlNode Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kan een klasse een XmlNode van de huidige context of positie retourneren.
public interface class IHasXmlNode
public interface IHasXmlNode
type IHasXmlNode = interface
Public Interface IHasXmlNode
Voorbeelden
In het volgende voorbeeld wordt de GetNode methode gebruikt om het geselecteerde knooppunt op te halen en te wijzigen.
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
In het voorbeeld wordt het bestand books.xml als invoer gebruikt.
<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>
Opmerkingen
De IHasXmlNode interface biedt een interface waarmee een klasse een XmlNode van de huidige context of positie kan retourneren. Het wordt geïmplementeerd door XPathNavigator objecten die worden uitgevoerd via klassen met XmlNode knooppunten. Als het XPathNavigator object bijvoorbeeld wordt gemaakt door een XmlDocument, kunt u de GetNode methode gebruiken om de XmlNode huidige positie van de navigator te retourneren.