Linq to XML设置来自arrayList的XElements?

时间:2010-07-30 13:47:31

标签: xml linq linq-to-xml

我正在尝试使用ArrayList设置XElements并遇到一些麻烦。我基本上希望能够做一个foreach循环,但不确定我需要在哪里插入它。

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)))  

这不起作用,虽然它可以正常使用,但我想要城市名称,而不是数组编号

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

1 个答案:

答案 0 :(得分:1)

您使用ArrayList代替List<string>开头的原因是什么?

如果您强制使用ArrayList,那么您可以这样做:

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

...但如果可能的话,最好还是使用List<string>

可替换地:

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