C # Как получить 2 отдельных узла значения класса и записать их в datatable / dgv - PullRequest
2 голосов
/ 22 марта 2019

Кажется, у меня все работает в цикле имен, но при загрузке, который присваивает имя игрокам столбцу имени в сетке данных, но столбец позиции, кажется, постоянно зацикливается и не связывает правильное значение для каждого игрока .

public void button7_Click(object sender, EventArgs e)
{
    DataTable dt6 = new DataTable();
    dt6.Columns.Add("Name");
    dt6.Columns.Add("Position");
    DataRow row;

    var doc = new HtmlWeb().Load("https://www.numberfire.com/nba/daily-fantasy/daily-basketball-projections");
    foreach (HtmlNode node1 in doc.DocumentNode.SelectNodes(".//span[@class='player-info']//a[2]"))
    {
        foreach (HtmlNode node2 in doc.DocumentNode.SelectNodes(".//span[@class='player-info--position']"))
        {
            row = dt6.NewRow();
            row["Name"] = node1.InnerHtml.Trim();
            row["Position"] = node2.InnerHtml.Trim();
            dt6.Rows.Add(row);
        }
    }
    dataGridView4.DataSource = dt6;
}

1 Ответ

0 голосов
/ 26 марта 2019

Разобрался:

    public void button7_Click(object sender, EventArgs e)
    {

        DataTable dt6 = new DataTable();
        dt6.Columns.Add("Name");
        dt6.Columns.Add("Position");
        DataRow row;



        var doc = new HtmlWeb().Load("https://www.numberfire.com/nba/daily-fantasy/daily-basketball-projections");


        foreach (HtmlNode node1 in doc.DocumentNode.SelectNodes("//span[@class='player-info']"))
        {
            row = dt6.NewRow();

            foreach (HtmlNode node in node1.SelectNodes(".//a"))
            {

                row["Name"] = node.InnerHtml.Trim();

            }
                foreach (HtmlNode node2 in node1.SelectNodes(".//span[@class='player-info--position']"))
                {

                    row["Position"] = node2.InnerText.Trim();

                }
            dt6.Rows.Add(row);
        }
        dataGridView4.DataSource = dt6;
        }
...