Recupero di nodi ordinati in base all'indiceOrdered Node Retrieval by Index

Il DOM (Document Object Model) XML W3C (World Wide Web Consortium) descrive anche un oggetto NodeList, che ha la capacità di gestire un elenco ordinato di nodi, mentre i set non ordinati sono gestiti da XmlNamedNodeMap.The World Wide Web Consortium (W3C) XML Document Object Model (DOM) also describes a NodeList, which has the ability to handle an ordered list of nodes, as opposed to the unordered set handled by the XmlNamedNodeMap. L'oggetto NodeList in Microsoft .NET Framework è denominato XmlNodeList.The NodeList in the Microsoft .NET Framework is called XmlNodeList. I metodi e le proprietà che restituiscono un oggetto XmlNodeList sono:Methods and properties that return an XmlNodeList are:

  • XmlNode.ChildNodesXmlNode.ChildNodes

  • XmlDocument.GetElementsByTagNameXmlDocument.GetElementsByTagName

  • XmlElement.GetElementsByTagNameXmlElement.GetElementsByTagName

  • XmlNode.SelectNodesXmlNode.SelectNodes

Per l'oggetto XmlNodeList è disponibile una proprietà Count che può essere usata per scrivere cicli di iterazione per scorrere i nodi in XmlNodeList, come mostrato nell'esempio di codice seguente:The XmlNodeList has a Count property that can be used to write loops to iterate over the nodes in the XmlNodeList, as shown in the following code sample:

Dim doc as XmlDocument = new XmlDocument()  
   doc.Load("books.xml")  

    ' Retrieve all book titles.  
    Dim root as XmlElement = doc.DocumentElement  
    Dim elemList as XmlNodeList = root.GetElementsByTagName("title")  
    Dim i as integer  
    for i=0  to elemList.Count-1  
        ' Display all book titles in the Node List.  
        Console.WriteLine(elemList.ItemOf(i).InnerXml)  
    next  
XmlDocument doc = new XmlDocument();  
doc.Load("books.xml");  
// Retrieve all book titles.  
XmlElement root = doc.DocumentElement;  
XmlNodeList elemList = root.GetElementsByTagName("title");  
for (int i=0; i < elemList.Count; i++)  
{     
   // Display all book titles in the Node List.  
   Console.WriteLine(elemList[i].InnerXml);  
}   

Oltre alla proprietà Count, è disponibile un metodo GetEnumerator che consente di eseguire un'iterazione in stile foreach sulla raccolta di nodi in XmlNodeList.In addition to the Count property, there is a GetEnumerator method that provides a, foreach style iteration over the collection of nodes in the XmlNodeList. Nell'esempio di codice seguente viene illustrato l'uso dell'istruzione foreach:The following code example shows the use of the foreach statement.

Dim doc As New XmlDocument()  
doc.Load("books.xml")  

' Get book titles.  
Dim root As XmlElement = doc.DocumentElement  
Dim elemList As XmlNodeList = root.GetElementsByTagName("title")  
Dim ienum As IEnumerator = elemList.GetEnumerator()  
' Loop over the XmlNodeList using the enumerator ienum          
While ienum.MoveNext()  
    ' Display the book title.  
    Dim title As XmlNode = CType(ienum.Current, XmlNode)  
    Console.WriteLine(title.InnerText)  
End While  
{  
     XmlDocument doc = new XmlDocument();  
     doc.Load("books.xml");  

     // Get book titles.  
     XmlElement root = doc.DocumentElement;  
     XmlNodeList elemList = root.GetElementsByTagName("title");  
     IEnumerator ienum = elemList.GetEnumerator();    
     // Loop over the XmlNodeList using the enumerator ienum          
     while (ienum.MoveNext())  
     {  
          // Display the book title.  
           XmlNode title = (XmlNode) ienum.Current;  
           Console.WriteLine(title.InnerText);  
     }  
  }  

Per altre informazioni sui metodi e sulle proprietà disponibili per XmlNodeList, vedere XmlNodeList.For more information on the methods and properties available on the XmlNodeList, see XmlNodeList.

Vedere ancheSee Also

Modello DOM (Document Object Mode) XMLXML Document Object Model (DOM)