Condividi tramite


XPathNavigator.MoveToFirstAttribute Metodo

Definizione

Quando sottoposto a override in una classe derivata, sposta l'oggetto XPathNavigator sul primo attributo del nodo corrente.

public:
 abstract bool MoveToFirstAttribute();
public abstract bool MoveToFirstAttribute ();
abstract member MoveToFirstAttribute : unit -> bool
Public MustOverride Function MoveToFirstAttribute () As Boolean

Restituisce

Boolean

true se l'oggetto XPathNavigator viene spostato sul primo attributo del nodo corrente. In caso contrario, false. Se false, la posizione dell'oggetto XPathNavigator rimane immutata.

Esempio

Nell'esempio seguente vengono usati i MoveToFirstAttribute metodi e MoveToNextAttribute per visualizzare tutti gli attributi per ogni libro nel 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

Nell'esempio il file books.xml viene considerato come 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>  

Commenti

Se l'oggetto XPathNavigator non è attualmente posizionato su un elemento, questo metodo restituisce false e la posizione di XPathNavigator non cambia.

Dopo la corretta chiamata a MoveToFirstAttribute, le LocalNameproprietà e Prefix NamespaceURI riflettono i valori dell'attributo . Quando l'oggetto XPathNavigator è posizionato su un attributo, i metodi MoveToNext, MoveToPreviouse MoveToFirst non sono applicabili. Questi metodi restituiscono false sempre e non modificano la posizione di XPathNavigator. È invece possibile chiamare MoveToNextAttribute per passare al nodo attributo successivo.

Dopo aver posizionato su XPathNavigator un attributo, è possibile chiamare MoveToParent per passare all'elemento proprietario.

Si applica a

Vedi anche