第一个 ListAStore
迭代并为每次迭代创建一个新列表。第二个 ListAPages
迭代,但不会在每次迭代时创建一个新列表。对于每个列表创建和 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
}