Teilen über


XPathNavigator.SelectAncestors Methode

Definition

Wählt alle übergeordneten Knoten des aktuellen Knotens aus, die den Auswahlkriterien entsprechen.

Überlädt

SelectAncestors(XPathNodeType, Boolean)

Wählt alle übergeordneten Knoten des aktuellen Knoten aus, die über einen übereinstimmenden XPathNodeType verfügen.

SelectAncestors(String, String, Boolean)

Wählt alle übergeordneten Knoten des aktuellen Knotens mit dem angegebenen lokalen Namen und Namespace-URI aus.

SelectAncestors(XPathNodeType, Boolean)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Wählt alle übergeordneten Knoten des aktuellen Knoten aus, die über einen übereinstimmenden XPathNodeType verfügen.

public:
 virtual System::Xml::XPath::XPathNodeIterator ^ SelectAncestors(System::Xml::XPath::XPathNodeType type, bool matchSelf);
public virtual System.Xml.XPath.XPathNodeIterator SelectAncestors (System.Xml.XPath.XPathNodeType type, bool matchSelf);
abstract member SelectAncestors : System.Xml.XPath.XPathNodeType * bool -> System.Xml.XPath.XPathNodeIterator
override this.SelectAncestors : System.Xml.XPath.XPathNodeType * bool -> System.Xml.XPath.XPathNodeIterator
Public Overridable Function SelectAncestors (type As XPathNodeType, matchSelf As Boolean) As XPathNodeIterator

Parameter

type
XPathNodeType

Der XPathNodeType der übergeordneten Knoten.

matchSelf
Boolean

true, um den Kontextknoten in die Auswahl einzuschließen, andernfalls false.

Gibt zurück

Ein XPathNodeIterator, der die ausgewählten Knoten enthält. Die zurückgegebenen Knoten liegen in umgekehrter Dokumentenreihenfolge vor.

Beispiele

Ein Beispiel für die Auswahl von Vorgängerknoten finden Sie unter XPathNavigator.SelectAncestors.

Hinweise

Die SelectAncestors -Methode hat keine Auswirkungen auf den Zustand von XPathNavigator.

Weitere Informationen

Gilt für:

SelectAncestors(String, String, Boolean)

Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs
Quelle:
XPathNavigator.cs

Wählt alle übergeordneten Knoten des aktuellen Knotens mit dem angegebenen lokalen Namen und Namespace-URI aus.

public:
 virtual System::Xml::XPath::XPathNodeIterator ^ SelectAncestors(System::String ^ name, System::String ^ namespaceURI, bool matchSelf);
public virtual System.Xml.XPath.XPathNodeIterator SelectAncestors (string name, string namespaceURI, bool matchSelf);
abstract member SelectAncestors : string * string * bool -> System.Xml.XPath.XPathNodeIterator
override this.SelectAncestors : string * string * bool -> System.Xml.XPath.XPathNodeIterator
Public Overridable Function SelectAncestors (name As String, namespaceURI As String, matchSelf As Boolean) As XPathNodeIterator

Parameter

name
String

Der lokale Name der früheren Knotenversionen.

namespaceURI
String

Der Namespace-URI der früheren Knotenversionen.

matchSelf
Boolean

true, um den Kontextknoten in die Auswahl einzuschließen, andernfalls false.

Gibt zurück

Ein XPathNodeIterator, der die ausgewählten Knoten enthält. Die zurückgegebenen Knoten liegen in umgekehrter Dokumentenreihenfolge vor.

Ausnahmen

null kann nicht als Parameter übergeben werden.

Beispiele

Das folgende Beispiel veranschaulicht die Auswahl von Vorgänger-, Untergeordneten und Nachfolgerknoten.

XPathDocument^ document = gcnew XPathDocument("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

// Select all the descendant nodes of the book node.
XPathNodeIterator^ bookDescendants = navigator->SelectDescendants("", "http://www.contoso.com/books", false);

// Display the LocalName of each descendant node.
Console::WriteLine("Descendant nodes of the book node:");
while (bookDescendants->MoveNext())
{
    Console::WriteLine(bookDescendants->Current->Name);
}

// Select all the child nodes of the book node.
XPathNodeIterator^ bookChildren = navigator->SelectChildren("", "http://www.contoso.com/books");

// Display the LocalName of each child node.
Console::WriteLine("\nChild nodes of the book node:");
while (bookChildren->MoveNext())
{
    Console::WriteLine(bookChildren->Current->Name);
}

// Select all the ancestor nodes of the title node.
navigator->MoveToChild("title", "http://www.contoso.com/books");

XPathNodeIterator^ bookAncestors = navigator->SelectAncestors("", "http://www.contoso.com/books", false);

// Display the LocalName of each ancestor node.
Console::WriteLine("\nAncestor nodes of the title node:");

while (bookAncestors->MoveNext())
{
    Console::WriteLine(bookAncestors->Current->Name);
}
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

// Select all the descendant nodes of the book node.
XPathNodeIterator bookDescendants = navigator.SelectDescendants("", "http://www.contoso.com/books", false);

// Display the LocalName of each descendant node.
Console.WriteLine("Descendant nodes of the book node:");
while (bookDescendants.MoveNext())
{
    Console.WriteLine(bookDescendants.Current.Name);
}

// Select all the child nodes of the book node.
XPathNodeIterator bookChildren = navigator.SelectChildren("", "http://www.contoso.com/books");

// Display the LocalName of each child node.
Console.WriteLine("\nChild nodes of the book node:");
while (bookChildren.MoveNext())
{
    Console.WriteLine(bookChildren.Current.Name);
}

// Select all the ancestor nodes of the title node.
navigator.MoveToChild("title", "http://www.contoso.com/books");

XPathNodeIterator bookAncestors = navigator.SelectAncestors("", "http://www.contoso.com/books", false);

// Display the LocalName of each ancestor node.
Console.WriteLine("\nAncestor nodes of the title node:");

while (bookAncestors.MoveNext())
{
    Console.WriteLine(bookAncestors.Current.Name);
}
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

' Select all the descendant nodes of the book node.
Dim bookDescendants As XPathNodeIterator = navigator.SelectDescendants("", "http://www.contoso.com/books", False)

' Display the LocalName of each descendant node.
Console.WriteLine("Descendant nodes of the book node:")
While bookDescendants.MoveNext()
    Console.WriteLine(bookDescendants.Current.Name)
End While

' Select all the child nodes of the book node.
Dim bookChildren As XPathNodeIterator = navigator.SelectChildren("", "http://www.contoso.com/books")

' Display the LocalName of each child node.
Console.WriteLine(vbCrLf & "Child nodes of the book node:")
While bookChildren.MoveNext()
    Console.WriteLine(bookChildren.Current.Name)
End While

' Select all the ancestor nodes of the title node.
navigator.MoveToChild("title", "http://www.contoso.com/books")

Dim bookAncestors As XPathNodeIterator = navigator.SelectAncestors("", "http://www.contoso.com/books", False)

' Display the LocalName of each ancestor node.
Console.WriteLine(vbCrLf & "Ancestor nodes of the title node:")

While bookAncestors.MoveNext()
    Console.WriteLine(bookAncestors.Current.Name)
End While

In diesem Beispiel wird die Datei contosoBooks.xml als Eingabe verwendet.

<?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>  

Hinweise

Wenn String.Empty als name Parameter angegeben wird, werden alle Übergeordneten Knoten ausgewählt, die zum angegebenen Namespace-URI gehören. Wenn String.Empty als namespaceURI Parameter angegeben wird, werden alle Übergeordneten Knoten mit dem angegebenen lokalen Namen ausgewählt, die zu keinem Namespace gehören. Wenn String.Empty sowohl als lokaler Name als auch als Namespace-URI angegeben ist, werden alle Übergeordneten Knoten ausgewählt, die zu keinem Namespace gehören.

Die SelectAncestors -Methode hat keine Auswirkungen auf den Zustand von XPathNavigator.

Weitere Informationen

Gilt für: