2015-12-15 5 views
2

Все примеры и тесты AngleSharp Я нашел начало с разбора фрагмента CSS или HTML и доступа к чтению DOM. Как я могу создать документ CSS (или HTML5) программно и получить полученный результат как строку?Как построить AngleSharp CSS (или HTML) DOM программно

Я хочу что-то вроде этого (псевдо-код):

var rule = new CssRule(); 
rule.Selector = ".my-class"; 

var style = new CssStyle("margin-top", "10px"); 

rule.add(style); 

ответ

4

Для HTML вы должны использовать W3C указанный API:

var context = BrowsingContext.New(); 
// get new document, not completely empty (has head and body) 
var document = await context.OpenNewAsync(); 
var element = document.CreateElement("strong"); 
element.TextContent = "Hello World!"; 
document.Body.AppendChild(element); 

Поскольку это немного многословным некоторые хелперы (в виде методов расширения), чтобы сделать его более свободным. Также CreateElement доступен как общий метод выглядит как:

var paragraph = document.CreateElement<IHtmlParagraphElement>(); 

К сожалению, для CSS в настоящее время нет такого API (фабричных методов или аналогичного) существует. Единственный способ манипулировать им - использовать строки. Это не идеально (я знаю), и я добавлю полезные методы расширения для обеспечения такой функциональности в будущем.

 Смежные вопросы

  • Нет связанных вопросов^_^