2015-01-29 2 views
0

// Этот код не использует HTML Agility Pack HtmlDocument.Как написать «htmlstring» в System.Windows.Form.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 для получения атрибутов?

наиболее Предыдущие вопросы по StackOverflow без ответа или не очень clear.Kindly объяснить раствора немного

Просьба помочь

+0

'HTMLDocument документа = новый HTMLDocument()' должен работать нормально. Вторая строка должна быть изменена на 'document.LoadHtml (htmlstring);' –

+0

@UlugbekUmirov Да, что для HtmlAgilityPack.Html Документ документа = новый HtmlAgilityPack.HtmlDocument(); , но я не знаю, как найти элементы в AgilityPack HtmlDocument – Charlie

ответ

1

Она может быть решена полностью с помощью HtmlAgilityPack, Заменены код System.Windows.Form. HTMLDocument с HtmlAgilityPack.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:", ""); 
       }