• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Visual Studio NullReference

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
268
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Merhabalar,
c# ile web sitesinden veri alma ilgili bir program tasarlıyorum ancak butona tıklağımda önce xpath hatası ardından kodda (xpath'i defalarca kontrol ettim onda bir problem yok) :System.ArgumentNullException :değer null olamaz parametre adı :html hatasını alıyorum
kodlar aşağıdadır veri listbox1'e gelecek. Yardımcı olan arkadaşlara şimdiden teşekkürler.


using System.Net;
using HtmlAgilityPack;

namespace Webten_Veri_Al
{
public partial class Form1 : Form
{
public string html;
public Uri url;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
private void button1_Click(object sender, EventArgs e)
{
Verial("http://www.autoparts.com.tr/yedek-parca-firmalari/", "//*[@id='single - heading - content']/div[1]/h2", listBox1);
}
public void Verial(string Url, string Xpath, ListBox Cıkansonuc)
{
try
{
url = new Uri(Url);
}
catch (UriFormatException)
{
if (MessageBox.Show("Hatalı Url", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK) ;
{

}
}
catch (ArgumentNullException)
{
if (MessageBox.Show("Hatalı Url", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK) ;
{

}
}
WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;

try
{
html = client.DownloadString(url);
}
catch (WebException)
{
if (MessageBox.Show("Hatalı Xpath", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK) ;
{

}
}
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
try
{
Cıkansonuc.Items.Add(doc.DocumentNode.SelectSingleNode(Xpath).InnerText);
}
catch (NullReferenceException)
{

if (MessageBox.Show("Hatalı Referans", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK) ;
{
} } } } }
 

Ekli dosyalar

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Forumları karıştırdınız galiba excel makro forumunda c# soruyorsunuz. Bildiğimden değilde webde buldum çözümü,
1- xpath iniz yanlış. aşağıdaki xpath bir tane sonuç döndürüyor.

Kod:
 Verial("http://www.autoparts.com.tr/yedek-parca-firmalari/", "//*[@id='job_list']/div/ul/li[1]/a/span/span[1]", listBox1);
2-
Kod:
            client.Encoding = Encoding.UTF8;
            //altına ekleyin...
            client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
 
Üst