Udostępnij za pośrednictwem


XPathNavigator.SelectAncestors Metoda

Definicja

Wybiera wszystkie węzły nadrzędne bieżącego węzła, które spełniają kryteria wyboru.

Przeciążenia

SelectAncestors(XPathNodeType, Boolean)

Wybiera wszystkie węzły nadrzędne bieżącego węzła, które mają pasujący XPathNodeTypeelement .

SelectAncestors(String, String, Boolean)

Wybiera wszystkie węzły nadrzędne bieżącego węzła z określoną lokalną nazwą i identyfikatorem URI przestrzeni nazw.

SelectAncestors(XPathNodeType, Boolean)

Źródło:
XPathNavigator.cs
Źródło:
XPathNavigator.cs
Źródło:
XPathNavigator.cs

Wybiera wszystkie węzły nadrzędne bieżącego węzła, które mają pasujący XPathNodeTypeelement .

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

Parametry

type
XPathNodeType

Węzły XPathNodeType węzłów nadrzędnych.

matchSelf
Boolean

Aby uwzględnić węzeł kontekstu w zaznaczeniu ; truew przeciwnym razie false.

Zwraca

Element XPathNodeIterator zawierający wybrane węzły. Zwrócone węzły są w odwrotnej kolejności dokumentów.

Przykłady

Aby zapoznać się z przykładem wybierania węzłów nadrzędnych, zobacz XPathNavigator.SelectAncestors.

Uwagi

Metoda SelectAncestors nie ma wpływu na stan .XPathNavigator

Zobacz też

Dotyczy

SelectAncestors(String, String, Boolean)

Źródło:
XPathNavigator.cs
Źródło:
XPathNavigator.cs
Źródło:
XPathNavigator.cs

Wybiera wszystkie węzły nadrzędne bieżącego węzła z określoną lokalną nazwą i identyfikatorem URI przestrzeni nazw.

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

Parametry

name
String

Lokalna nazwa węzłów nadrzędnych.

namespaceURI
String

Identyfikator URI przestrzeni nazw węzłów nadrzędnych.

matchSelf
Boolean

Aby uwzględnić węzeł kontekstu w zaznaczeniu ; truew przeciwnym razie false.

Zwraca

Element XPathNodeIterator zawierający wybrane węzły. Zwrócone węzły są w odwrotnej kolejności dokumentów.

Wyjątki

null nie można przekazać jako parametru.

Przykłady

Poniższy przykład ilustruje wybieranie węzłów nadrzędnych, podrzędnych i podrzędnych.

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

W przykładzie plik jest contosoBooks.xml pobierany jako dane wejściowe.

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

Uwagi

Jeśli String.Empty parametr jest określony jako name parametr, wybierane są wszystkie węzły będące elementem nadrzędnym, które należą do określonego identyfikatora URI przestrzeni nazw. Jeśli String.Empty parametr jest określony jako namespaceURI parametr, wszystkie węzły będące przodkami o określonej nazwie lokalnej, które nie należą do żadnej przestrzeni nazw, są zaznaczone. Jeśli String.Empty zostanie określony jako zarówno lokalny identyfikator URI nazwy, jak i przestrzeni nazw, wszystkie węzły będące elementem nadrzędnym, które nie należą do żadnej przestrzeni nazw, są zaznaczone.

Metoda SelectAncestors nie ma wpływu na stan .XPathNavigator

Zobacz też

Dotyczy