XPathNavigator.SelectAncestors Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 ; true
w 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 ; true
w 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