XPathNavigator.SelectAncestors Método

Definição

Seleciona todos os nós ancestrais do nó atual que correspondem aos critérios de seleção.

Sobrecargas

Name Description
SelectAncestors(XPathNodeType, Boolean)

Seleciona todos os nós ancestrais do nó atual que tenham uma correspondência XPathNodeType.

SelectAncestors(String, String, Boolean)

Seleciona todos os nós ancestrais do nó atual que tenham o nome local e o espaço de nomes URI especificados.

SelectAncestors(XPathNodeType, Boolean)

Seleciona todos os nós ancestrais do nó atual que tenham uma correspondência 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

Os XPathNodeType dos nós ancestrais.

matchSelf
Boolean

Para incluir o nó de contexto na seleção, true; caso contrário, false.

Devoluções

E XPathNodeIterator que contém os nós selecionados. Os nós devolvidos estão em ordem inversa dos documentos.

Exemplos

Para um exemplo de seleção de nós ancestrais, veja XPathNavigator.SelectAncestors.

Observações

O SelectAncestors método não tem efeito no estado do XPathNavigator.

Ver também

Aplica-se a

SelectAncestors(String, String, Boolean)

Seleciona todos os nós ancestrais do nó atual que tenham o nome local e o espaço de nomes URI especificados.

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.

namespaceURI
String

O URI do namespace dos nós ancestrais.

matchSelf
Boolean

Para incluir o nó de contexto na seleção, true; caso contrário, false.

Devoluções

E XPathNodeIterator que contém os nós selecionados. Os nós devolvidos estão em ordem inversa dos documentos.

Exceções

null não pode ser passado como parâmetro.

Exemplos

O exemplo seguinte ilustra a seleção de nós antepassados, filhos e descendentes.

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 contosoBooks.xml arquivo como uma entrada.

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

Observações

Se String.Empty for especificado como o name parâmetro, todos os nós antepassados que pertencem ao URI do espaço de nomes especificado são selecionados. Se String.Empty for especificado como parâmetro namespaceURI , todos os nós antepassados com o nome local especificado que não pertencem a nenhum espaço de nomes são selecionados. Se String.Empty for especificado tanto como o nome local como o URI do namespace, todos os nós antepassados que não pertencem a nenhum namespace são selecionados.

O SelectAncestors método não tem efeito no estado do XPathNavigator.

Ver também

Aplica-se a