2013-01-16 23 views
7

Ho un file XML, in cui mi sto salvando i dati temporanei (indice & nome di colonne) come i seguenti:lettura dei dati da XML in un array

-<NewDataSet> 
    -<USERROWCOL> 
      <COL>2</COL> 
      <Name>Name</Name> 
    </USERROWCOL> 
    -<USERROWCOL> 
      <COL>8</COL> 
      <Name>PDC</Name> 
    </USERROWCOL> 
<NewDataSet> 

voglio leggere tutte COL s in un array usando C# come se fosse un array ({2, 8}). Qualcuno mi può aiutare su questo?

risposta

9

Ecco un LINQ to XML Versione:

string[] arr = XDocument.Load(@"C:\xxx.xml").Descendants("Name") 
         .Select(element => element.Value).ToArray(); 

Questo darà tutto l'elemento Name dal documento.

8

LINQ to XML rende questo molto facile:

var document = XDocument.Load("file.xml"); 
var array = document.Descendants("COL").Select(x => (int) x).ToArray(); 

Che si sta assumendo vuole solo ogniCOL elemento nel documento, e il valore di ogni elemento sarà un numero intero.

Problemi correlati