C# 使用HtmlAgilityPack

C# 使用HtmlAgilityPack,c#,html,asp.net,html-agility-pack,C#,Html,Asp.net,Html Agility Pack,我有一个问题HtmlAgilityPack,我想下面的图片。但它与这些线并不一致。我能做什么 HtmlWeb web = new HtmlWeb(); web.OverrideEncoding = Encoding.GetEncoding("windows-1254"); HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.yerelnet.org.tr/belediyeler/belediye.php?belediyeid=12953

我有一个问题HtmlAgilityPack,我想下面的图片。但它与这些线并不一致。我能做什么

HtmlWeb web = new HtmlWeb();
web.OverrideEncoding = Encoding.GetEncoding("windows-1254");
HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.yerelnet.org.tr/belediyeler/belediye.php?belediyeid=129531");

var nufus = doc.DocumentNode.SelectNodes("/html/body/center/table/tr/td[2]/table/tr[2]/td[2]/table/tr[2]/td/table/tr/td/table[5]/tr/td[2]/table/tr/td[3]/table[2]");

string str = String.Empty;
string line = String.Empty;

if (nufus != null)
{

    for (int i = 0; i < nufus.Count; i++)
    {
        str += nufus[i].InnerText.Replace("&nbsp;", "").Replace("\t", "").Replace("Nüfus Bilgileri", "");

        string[] s = str.Split('\n');

        for (int x = 10; x < s.Count(); x++)
        {
            if (s[x] != String.Empty && s[x] != " ")
            {
                lnufus.Add(s[x].ToString());
                lnufus.Add(s[x].ToString());
                lnufus.Add(s[x].ToString());
                lnufus.Add(s[x].ToString());
            }
        }
    }
}

dataGridView1.DataSource = lnufus.GroupBy(x => x).Select(g => new
{
    Yıl = g.Key, Toplam = g.Key, Kadin = g.Key, Erkek = g.Key
}).ToList();

HtmlWeb=newhtmlweb();
web.OverrideEncoding=Encoding.GetEncoding(“windows-1254”);
HtmlAgilityPack.HtmlDocument doc=web.Load(“http://www.yerelnet.org.tr/belediyeler/belediye.php?belediyeid=129531");
var nufus=doc.DocumentNode.SelectNodes(“/html/body/center/table/tr/td[2]/table/tr[2]/td[2]/td/table/tr/td/table[5]/tr/td[2]/table/tr/td[3]/table[2]”;
string str=string.Empty;
string line=string.Empty;
if(nufus!=null)
{
for(int i=0;ix)。选择(g=>new
{
Yıl=g.键,托普兰=g.键,卡丁=g.键,埃尔克=g.键
}).ToList();
不需要那种奇怪的xpath查询。这应该行得通

var nufus = doc.DocumentNode.SelectNodes("//table[@class='belediyeler']/tr")
            .Skip(1)
            .Select(tr => tr.Elements("td").Select(td => td.InnerText).ToList())
            .Select(td => new { Yil = td[0], Toplam = td[1], Kadin = td[2], Erkek = td[3] })
            .ToList();

dataGridView1.DataSource = nufus;