我需要使用c#。
获取父节点名称及其各自的html元素属性示例:
<dl class="dlbox">
<dd>
<a class="btn primary" href="http://testurl.org">
<span>Lorem Ipsum</span>
<span class="icnsm"></span>
</a>
</dd>
</dl>
代码:
System.Windows.Forms.HtmlDocument doc = webBrowser1.Document;
HtmlElementCollection col = doc.GetElementsByTagName("a");
int i = 0;
foreach (HtmlElement element in col)
{
textBox8.Text = textBox8.Text + col[i].GetAttribute("id") + "\r\n";
i = i + 1;
}
注意:我正在遍历页面并搜索所有锚标签,但我需要检查第二级的父元素,即是否存在相应的锚标记,如果存在则我需要使用c#获取相应dl的类名。
谢谢!非常感谢任何帮助!
答案 0 :(得分:0)
你可以使用Parent
属性,例如:
System.Windows.Forms.HtmlDocument doc = webBrowser1.Document;
HtmlElementCollection col = doc.GetElementsByTagName("a");
int i = 0;
foreach (HtmlElement element in col)
{
textBox8.Text = textBox8.Text + col[i].GetAttribute("id") + "\r\n";
i = i + 1;
// check if parent is dd
if(element.Parent != null && element.Parent.TagName.ToLower() == "dd")
{
var parent = element.Parent;
if(parent.Parent != null && element.Parent.TagName.ToLower() == "dl")
{
// get class name of dl
var className = parent.Parent.GetAttribute("class");
}
}
}