我正在使用C#,Xaml和HTMLAgilityPack。如何获得属性“alt”的值。
HTML code:
<img src="http://userserve-ak.last.fm/serve/252/87168773.png" alt="Idina Menzel - Let It Go lyrics" title="Let It Go"/>
我如何获得“Idina Menzel - Let It Go lyrics”。
C#代码:
var s = doc.DocumentNode.Descendants("img").Where(o => o.Attributes["alt"] != null && o.Attributes["alt"].Value != null);
try
{
foreach (HtmlNode childNode in s)
{
pureText.Append(c + ". ");
pureText.Append(childNode);
pureText.Append("\n\n");
c++;
}
}
catch
{ }
答案 0 :(得分:0)
您可以在XPath中使用[@alt]
来选择已定义img
属性的所有alt
个节点:
var images = doc.DocumentNode.SelectNodes("//img[@alt]");
foreach (var img in images)
{
// img.Attributes["alt"].Value
}
连接有序列表中的所有alt消息:
images.Select((img,index) => new { index, alt = img.Attributes["alt"].Value })
.Aggregate(new StringBuilder(),
(sb,x) => sb.AppendFormat("{0}. {1}\n\n", x.index + 1, x.alt),
sb => sb.ToString());