使用html-agility-pack查找包含數據的所有元素 - 屬性

c# html-agility-pack

我正在使用Html-agility-Pack來解析一個Html文本塊。是否可以通過其屬性/屬性值查找所有元素的列表?

例如,下面是一個示例html文本。使用Html-agility-pack如何找到具有“data-glossaryid”屬性的所有元素?

<p> sample text <a href="" data-glossaryid="F776EB48BD"></a>
<p><img  alt="my pic" src="/~/media/Images/mypic.jpg" /></p>
sample text 
<a  href="" data-glossaryid="5D476EB49E"></a>
<p>  more sample text  </p>
<span data-glossaryid="F776EB49EF"> </span>

一般承認的答案

// the html block of text to parse
var a = @"<p> sample text <a href="""" data-glossaryid=""F776EB48BD""></a>
<p><img  alt=""my pic"" src=""/~/media/Images/mypic.jpg"" /></p>
sample text <a  href="""" data-glossaryid=""5D476EB49E""></a>
<p>  more sample text  </p>
<span data-glossaryid=""F776EB49EF""> </span>";

// create an HtmlDocument
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(a);

// get all elements with the attr data-glossaryid and prints its values
foreach (var item in htmlDocument.DocumentNode.SelectNodes("//*[@data-glossaryid]"))
    Console.WriteLine(item.GetAttributeValue("data-glossaryid", ""));


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因