C#嵌套列表未添加新列表

时间:2013-07-24 15:07:52

标签: c# list arraylist nested

第一个List“AStore”迭代并为每次迭代创建一个新列表。第二个List“APages”迭代但不会在每次迭代时创建新列表。每个列表创建和List.Add都有相同的位置。这有什么不对?

public void Promos()
{
    //get store info and id
    var storeinfo = new HtmlWeb();
    var storeshtm = storeinfo.Load(@"Stores.htm");
    var nodes = storeshtm.DocumentNode.SelectNodes("div");
    List<Store> AStore = new List<Store>();
    nodes = nodes[0].ChildNodes;
    int a = 0;
    foreach (var node in nodes)
    {
        if (node.Name != "#text")
        {
             AStore.Add(new Store(
                                    node.ChildNodes[1].ChildNodes[1].Attributes[7].Value,//storewebid
                                     "Astore",//storename
                                     node.ChildNodes[3].ChildNodes[1].ChildNodes[1].ChildNodes[3].InnerText,//storeaddress
                                     node.ChildNodes[3].ChildNodes[1].ChildNodes[1].ChildNodes[5].InnerText,//storecity
                                     node.ChildNodes[3].ChildNodes[1].ChildNodes[1].ChildNodes[5].InnerText,//storestate
                                     node.ChildNodes[3].ChildNodes[1].ChildNodes[1].ChildNodes[5].InnerText,//storezip
                                     node.ChildNodes[3].ChildNodes[1].ChildNodes[1].ChildNodes[7].InnerText,//storephone
                                     ""//storehours
                                  )
                       );
        }
    }
    for (int i = 0; i <= a; i++)
    {
        var circualr = new HtmlWeb();
        var storehtm = circualr.Load(@"http://storewebsite/" + AStore[i].StoreWebID);
        var cnodes = storehtm.DocumentNode.SelectNodes("//*[@id="+'"'+"Wrapper"+'"'+"]");
        List<Pages> APages = new List<Pages>();
        foreach (var cnode in cnodes)
            if(cnode.ChildNodes[3].ChildNodes[3].ChildNodes[5].ChildNodes[3].ChildNodes[1].Name == "a")
                APages.Add(new Pages(cnode.ChildNodes[3].ChildNodes[3].ChildNodes[5].ChildNodes[3].ChildNodes[1].Attributes[2].Value));//get inner page links
    }

1 个答案:

答案 0 :(得分:1)

  

每个列表创建都有相同的展示位置

具有相同的创建位置,{for AStore是在for循环之外创建的,而APages则是。