仅获取父节点的子节点
Get only child nodes of a parent node
我尝试使用 html 敏捷包。基本工作正常,只有当我尝试获取一个部分的子节点时,我才不会得到所有节点,这个 class 'dealer-offer' 等于它将在哪个父节点中。
这是我使用的代码:
private void getListOfDiv(string html, string classname)
{
if (html != null)
{
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']");
//this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
//return;
int i = 1;
foreach( var divAngebote in divProduktkategorie.SelectNodes("//div[@class='dealer-offer']"))
{
this.listBox1.Items.Add(i + ": " + classname);
this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
i++;
}
}
}
Wenn I return divProduktkategorie 到 outputfild,然后我只得到 3 个位置,它们在这个单节点下,但是我开始循环,然后我得到每个节点 class 'dealer-offer' 而不仅仅是3个位置。
我错在哪里?不是我自己找的。
感谢您的帮助
尝试获取具有正确相对路径的 3 个节点,然后只对它们进行 foreach。不要在 divProduktkategorie 参考文献中搜索它们。
private void getListOfDiv(string html, string classname)
{
if (html != null)
{
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']//div[@class='dealer-offer']");
//this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
//return;
int i = 1;
foreach( var divAngebote in divProduktkategorie)
{
this.listBox1.Items.Add(i + ": " + classname);
this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
i++;
}
}
}
我尝试使用 html 敏捷包。基本工作正常,只有当我尝试获取一个部分的子节点时,我才不会得到所有节点,这个 class 'dealer-offer' 等于它将在哪个父节点中。
这是我使用的代码:
private void getListOfDiv(string html, string classname)
{
if (html != null)
{
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']");
//this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
//return;
int i = 1;
foreach( var divAngebote in divProduktkategorie.SelectNodes("//div[@class='dealer-offer']"))
{
this.listBox1.Items.Add(i + ": " + classname);
this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
i++;
}
}
}
Wenn I return divProduktkategorie 到 outputfild,然后我只得到 3 个位置,它们在这个单节点下,但是我开始循环,然后我得到每个节点 class 'dealer-offer' 而不仅仅是3个位置。
我错在哪里?不是我自己找的。
感谢您的帮助
尝试获取具有正确相对路径的 3 个节点,然后只对它们进行 foreach。不要在 divProduktkategorie 参考文献中搜索它们。
private void getListOfDiv(string html, string classname)
{
if (html != null)
{
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']//div[@class='dealer-offer']");
//this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
//return;
int i = 1;
foreach( var divAngebote in divProduktkategorie)
{
this.listBox1.Items.Add(i + ": " + classname);
this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
i++;
}
}
}