XPathNavigator.MoveToFirstAttribute Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
When overridden in a derived class, moves the XPathNavigator to the first attribute of the current node.
public:
abstract bool MoveToFirstAttribute();
public abstract bool MoveToFirstAttribute ();
abstract member MoveToFirstAttribute : unit -> bool
Public MustOverride Function MoveToFirstAttribute () As Boolean
Returns
true
if the XPathNavigator is successful moving to the first attribute of the current node; otherwise, false
. If false
, the position of the XPathNavigator is unchanged.
Examples
The following example uses the MoveToFirstAttribute and MoveToNextAttribute methods to display all the attributes for each book in the books.xml
file.
XPathDocument^ document = gcnew XPathDocument("books.xml");
XPathNavigator^ navigator = document->CreateNavigator();
// Select all book nodes and display all attributes on each book.
XPathNodeIterator^ nodes = navigator->SelectDescendants("book", "", false);
while (nodes->MoveNext())
{
XPathNavigator^ navigator2 = nodes->Current->Clone();
navigator2->MoveToFirstAttribute();
Console::WriteLine("{0} = {1}", navigator2->Name, navigator2->Value);
while (navigator2->MoveToNextAttribute())
{
Console::WriteLine("{0} = {1}", navigator2->Name, navigator2->Value);
}
Console::WriteLine();
}
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
// Select all book nodes and display all attributes on each book.
XPathNodeIterator nodes = navigator.SelectDescendants("book", "", false);
while (nodes.MoveNext())
{
XPathNavigator navigator2 = nodes.Current.Clone();
navigator2.MoveToFirstAttribute();
Console.WriteLine("{0} = {1}", navigator2.Name, navigator2.Value);
while (navigator2.MoveToNextAttribute())
{
Console.WriteLine("{0} = {1}", navigator2.Name, navigator2.Value);
}
Console.WriteLine();
}
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
' Select all book nodes and display all attributes on each book.
Dim nodes As XPathNodeIterator = navigator.SelectDescendants("book", "", False)
While nodes.MoveNext()
Dim navigator2 As XPathNavigator = nodes.Current.Clone()
navigator2.MoveToFirstAttribute()
Console.WriteLine("{0} = {1}", navigator2.Name, navigator2.Value)
While navigator2.MoveToNextAttribute()
Console.WriteLine("{0} = {1}", navigator2.Name, navigator2.Value)
End While
Console.WriteLine()
End While
The example takes the books.xml
file as an input.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
<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>
Remarks
If the XPathNavigator is not currently positioned on an element, this method returns false
and the position of the XPathNavigator does not change.
After a successful call to MoveToFirstAttribute, the LocalName, NamespaceURI and Prefix properties reflect the values of the attribute. When the XPathNavigator is positioned on an attribute, the methods MoveToNext, MoveToPrevious, and MoveToFirst are not applicable. These methods always return false
and do not change the position of the XPathNavigator. Rather, you can call MoveToNextAttribute to move to the next attribute node.
After the XPathNavigator is positioned on an attribute, you can call MoveToParent to move to the owner element.
Applies to
See also
.NET