XPathNodeIterator.Current Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ha felül van bírálva egy származtatott osztályban, lekéri ennek XPathNavigatoraz objektumnak az XPathNodeIterator objektumát, amely az aktuális környezeti csomóponton van elhelyezve.
public:
abstract property System::Xml::XPath::XPathNavigator ^ Current { System::Xml::XPath::XPathNavigator ^ get(); };
public abstract System.Xml.XPath.XPathNavigator? Current { get; }
public abstract System.Xml.XPath.XPathNavigator Current { get; }
member this.Current : System.Xml.XPath.XPathNavigator
Public MustOverride ReadOnly Property Current As XPathNavigator
Tulajdonság értéke
Azon XPathNavigator a környezeti csomóponton elhelyezett objektum, amelyből a csomópontkészlet ki lett választva. A MoveNext() metódust meg kell hívni a XPathNodeIterator kijelölt készlet első csomópontjának áthelyezéséhez.
Példák
Az alábbi példa lekéri a Herman Melville által készített összes könyvcímet az CurrentXPathNodeIterator objektum tulajdonságával és az CloneXPathNavigator osztály metódusával.
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
// Select all books authored by Melville.
XPathNodeIterator nodes = navigator.Select("descendant::book[author/last-name='Melville']");
while (nodes.MoveNext())
{
// Clone the navigator returned by the Current property.
// Use the cloned navigator to get the title element.
XPathNavigator clone = nodes.Current.Clone();
clone.MoveToFirstChild();
Console.WriteLine("Book title: {0}", clone.Value);
}
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
' Select all books authored by Melville.
Dim nodes As XPathNodeIterator = navigator.Select("descendant::book[author/last-name='Melville']")
While nodes.MoveNext()
' Clone the navigator returned by the Current property.
' Use the cloned navigator to get the title element.
Dim clone As XPathNavigator = nodes.Current.Clone()
clone.MoveToFirstChild()
Console.WriteLine("Book title: {0}", clone.Value)
End While
A példa a contosoBooks.xml fájlt veszi bemenetként.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" 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-11-17" 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-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Megjegyzések
A visszaadott XPathNavigator objektum tulajdonságaival információkat szerezhet be az aktuális csomóponton. A visszaadott XPathNavigator objektumot azonban nem szabad módosítani. A visszaadott XPathNavigator objektum nem helyezhető el a kijelölt csomópontkészlettől.
Másik lehetőségként klónozhatja az XPathNavigator objektumot az CloneXPathNavigator osztály metódusával. A klónozott XPathNavigator objektum ezután áthelyezhető a kijelölt csomópontkészletből. Az objektum klónozásának ez a XPathNavigator módszere befolyásolhatja az XPath-lekérdezés teljesítményét.
Ha a SelectAncestors, SelectDescendantsés SelectChildren a metódusok nem jelölnek ki csomópontokat, előfordulhat, hogy a Current tulajdonság nem a környezeti csomópontra mutat.
Annak ellenőrzéséhez, hogy a csomópontok ki lettek-e jelölve, használja a Count tulajdonságot az alábbi példában látható módon.