Visual Studio NullReference

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
256
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,593
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