XPathNavigator.SelectAncestors Método

Definição

Seleciona todos os nós ancestrais do nó atual que correspondem aos critérios de seleção.Selects all the ancestor nodes of the current node that match the selection criteria.

Sobrecargas

SelectAncestors(XPathNodeType, Boolean)

Seleciona todos os nós ancestrais do nó atual que têm um XPathNodeType correspondente.Selects all the ancestor nodes of the current node that have a matching XPathNodeType.

SelectAncestors(String, String, Boolean)

Seleciona todos os nós ancestrais do nó atual que têm o nome local e o URI do namespace especificados.Selects all the ancestor nodes of the current node that have the specified local name and namespace URI.

SelectAncestors(XPathNodeType, Boolean)

Seleciona todos os nós ancestrais do nó atual que têm um XPathNodeType correspondente.Selects all the ancestor nodes of the current node that have a matching XPathNodeType.

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

Parâmetros

type
XPathNodeType

O XPathNodeType dos nós ancestrais.The XPathNodeType of the ancestor nodes.

matchSelf
Boolean

Para incluir o nó de contexto na seleção, true; caso contrário, false.To include the context node in the selection, true; otherwise, false.

Retornos

XPathNodeIterator

Um XPathNodeIterator que contém os nós selecionados.An XPathNodeIterator that contains the selected nodes. Os nós retornados estão na ordem inversa do documento.The returned nodes are in reverse document order.

Exemplos

Para obter um exemplo de seleção de nós ancestrais, consulte XPathNavigator.SelectAncestors .For an example of selecting ancestor nodes, see XPathNavigator.SelectAncestors.

Comentários

O SelectAncestors método não tem efeito sobre o estado do XPathNavigator .The SelectAncestors method has no effect on the state of the XPathNavigator.

Confira também

Aplica-se a

SelectAncestors(String, String, Boolean)

Seleciona todos os nós ancestrais do nó atual que têm o nome local e o URI do namespace especificados.Selects all the ancestor nodes of the current node that have the specified local name and namespace URI.

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

Parâmetros

name
String

O nome local dos nós ancestrais.The local name of the ancestor nodes.

namespaceURI
String

O URI de namespace dos nós ancestrais.The namespace URI of the ancestor nodes.

matchSelf
Boolean

Para incluir o nó de contexto na seleção, true; caso contrário, false.To include the context node in the selection, true; otherwise, false.

Retornos

XPathNodeIterator

Um XPathNodeIterator que contém os nós selecionados.An XPathNodeIterator that contains the selected nodes. Os nós retornados estão na ordem inversa do documento.The returned nodes are in reverse document order.

Exceções

null não pode ser passado como um parâmetro.null cannot be passed as a parameter.

Exemplos

O exemplo a seguir ilustra a seleção de nós ancestral, filho e descendentes.The following example illustrates selecting ancestor, child, and descendant nodes.

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

O exemplo usa o arquivo contosoBooks.xml como entrada.The example takes the contosoBooks.xml file as an input.

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

Comentários

Se String.Empty for especificado como o name parâmetro, todos os nós ancestrais que pertencem ao URI de namespace especificado serão selecionados.If String.Empty is specified as the name parameter, all ancestor nodes that belong to the specified namespace URI are selected. Se String.Empty for especificado como o namespaceURI parâmetro, todos os nós ancestrais com o nome local especificado que pertencem a nenhum namespace serão selecionados.If String.Empty is specified as the namespaceURI parameter, all ancestor nodes with the specified local name that belong to no namespace are selected. Se String.Empty for especificado como o nome local e o URI do namespace, todos os nós ancestrais que pertencem a nenhum namespace serão selecionados.If String.Empty is specified as both the local name and namespace URI, all ancestor nodes that belong to no namespace are selected.

O SelectAncestors método não tem efeito sobre o estado do XPathNavigator .The SelectAncestors method has no effect on the state of the XPathNavigator.

Confira também

Aplica-se a