我尝试使用agility html包在<p>
内获取所有<div>
个标签。但我只能从div获得第一个
标签。
<div id='bodayDiv'>
<p> hi </p>
<p> what is app </p>
<p> in the room </p>
</div>
我使用了这段代码
//div[@id='bodyDiv']/p/text()
或者
//div[@id='bodyDiv']//p
但我只能先获得<p>
答案 0 :(得分:0)
如果你想获得所有段落节点的文本,你可以试试这个:
DataTable dt;
public void refreshdata()
{
string loadstring = @"server=localhost;database=librarys;userid=root;password=1234;";
MySqlConnection conDataBase = new MySqlConnection(loadstring);
MySqlCommand cmdDataBase = new MySqlCommand("CALL `proc_returnborrowed`();", conDataBase);
try
{
MySqlDataAdapter sda = new MySqlDataAdapter();
sda.SelectCommand = cmdDataBase;
dt = new DataTable();
sda.Fill(dt);
BindingSource bs = new BindingSource();
bs.DataSource = dt;
dataGridView1.DataSource = bs;
sda.Update(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答案 1 :(得分:0)
解决此问题的方法是使用SelectNodes
string PageFull = "";
foreach (HtmlAgilityPack.HtmlNode node2 in doc.DocumentNode.SelectNodes("//div[@id='bodyDiv']/p/text()"))
PageFull = PageFull + "<p>" + node2.InnerHtml + "</p>"; ;