//此代码未使用HTML Agility Pack HtmlDocument。
1)我在字符串
中有一些元素的html2)我想在 System.Windows.Form.HtmlDocument 中编写它,但不允许,因为不允许使用它的构造函数
System.Windows.Form.HtmlDocument document=new HtmlDocument()//not allowed
document.write(htmlstring);
foreach (HtmlElement element in document.All)
{
string size = element.GetAttribute("font-size");
string font = element.GetAttribute("color");
string fontfamily = element.GetAttribute("font-family");
}
问题1:如何在代码中的第1行定义构造函数。
问题2:我没有做过什么研究,我发现htmlAgilitypack与定义构造函数有关,但它很混乱,因为htmlAgilitypack还包含HtmlDocument的定义。如何使用htmlAgilityPack获取属性?
答案 0 :(得分:1)
可以使用HtmlAgilityPack完全解决,用HtmlAgilityPack.HtmlDocument文档替换System.Windows.Form.HtmlDocument的代码
HtmlAgilityPack.HtmlDocument document =new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(HTML);
IEnumerable<HtmlNode> links = document.DocumentNode.Descendants("span");
foreach (var element in links)
{
string style = element.Attributes["style"].Value;
string[] styles=style.Split(';');
richTextBox1.Text += "\n" + styles[0].Replace("font-family:", "");
richTextBox1.Text += "\n" + styles[1].Replace("font-size:", "");
richTextBox1.Text += "\n" + styles[2].Replace("color:", "");
}