如何写" htmlstring"在System.Windows.Form.HtmlDocument中,它没有构造函数,是否有另一种方法来初始化它?

时间:2015-01-29 05:25:17

标签: c# dom html-agility-pack

//此代码未使用HTML Agility Pack HtmlDocument。

1)我在字符串

中有一些元素的html

2)我想在 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获取属性?

1 个答案:

答案 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:", "");
                }