Chào mọi người em có một vấn đề cần mọi người giúp đỡ, e có 1 đề bài yêu cầu tạo một form để lấy dữ liệu từ đường link của 1 trang web cụ thể là muốn lấy dữ liệu dạng bảng trong trang web để hiện lên datagridview nhưng gặp lỗi như hình, có vẻ như là trang web em đang muốn lấy dữ liệu không thẻ table nên nó bảo null không tìm thấy, nó được hiển thị trong thẻ div, nếu như đang gặp trường hợp vậy có cách nào để nó có thể lấy dữ liệu dạng bảng về datagridview không dù cho đó không phải thẻ table , xin lỗi mọi người lần đầu đăng bài có thể câu từ hơi lủng củng dài dòng khó hiểu
đây là code của em :
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnGetData_Click(object sender, EventArgs e)
{
string url = txtURL.Text;
if (!string.IsNullOrEmpty(url))
{
try
{
using (WebClient client = new WebClient())
{
string htmlContent = client.DownloadString(url);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlContent);
HtmlNode tableNode = doc.DocumentNode.SelectSingleNode("//table");
dataGridView1.Rows.Clear();
foreach (HtmlNode row in tableNode.SelectNodes("tr"))
{
DataGridViewRow dataGridViewRow = new DataGridViewRow();
foreach (HtmlNode cell in row.SelectNodes("th|td"))
{
dataGridViewRow.Cells.Add(new DataGridViewTextBoxCell { Value = cell.InnerText });
}
dataGridView1.Rows.Add(dataGridViewRow);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Lỗi: " + ex.Message);
}
}
else
{
MessageBox.Show("Vui lòng nhập URL trang web.");
}
}