2010-07-30 4 views
0

J'essaye de placer XElements avec un ArrayList et avoir un peu de problème. Je veux essentiellement être en mesure de faire une boucle foreach, mais je ne sais pas où je dois l'insérer.Paramètre Linq to XML XElements from arrayList?

ArrayList cities = new ArrayList(); 
foreach (ListItem item in lstCities.Items) 
{ 
    cities.Add(item.Text); 
} 

new XElement("Cities", cities //not sure what to do here 
          .Select(x=>new XElement("City",x))) 

Cela ne fonctionne pas, mais il a bien fonctionné avec cela, mais je veux les noms de ville, numéro de tableau

new XElement("Countries", lstCountry.GetSelectedIndices() 
           .Select(x => new XElement("Country", x)) 

Répondre

1

Toute raison pour laquelle vous utilisez un ArrayList au lieu d'un List<string> à Commencer avec?

Si vous êtes forcé à utiliser ArrayList alors vous pourriez faire:

cities.Cast<string>() 
     .Select(x => new XElement("City", x) 

... mais vous seriez mieux d'utiliser List<string> si possible.

Autre possibilité:

new XElement("Cities", lstCities.Items 
           .Cast<ListItem>() 
           .Select(x => new XElement("City", x.Text))) 
+0

@ Jon: Je manqué votre mobile sur 200K (qui semble avoir été il y a quelques heures). Y avait-il une fête? –

+0

@Jon: Liste ne semble pas avoir une définition d'éléments ... à moins que je manque quelque chose – Spooks

+0

nevermind, lors de la création d'une liste cities (liste cities = new Liste ();) Je ne peux pas tirer des objets , mais j'ai juste utilisé ma listBox et ça a bien fonctionné, merci! – Spooks