首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HtmlAgilityPack

使用HtmlAgilityPack
EN

Stack Overflow用户
提问于 2013-09-14 14:04:10
回答 1查看 362关注 0票数 0

我有一个问题,HtmlAgilityPack,我想下面的图片。但它与线不重合。我能做什么?

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-14 14:41:45

不需要这个奇怪的xpath查询。这应该能行

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18802568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档