【问题标题】:How to build AngleSharp CSS (or HTML) DOM programmatically如何以编程方式构建 AngleSharp CSS(或 HTML)DOM
【发布时间】:2015-12-15 10:01:15
【问题描述】:

我发现的所有AngleSharp 示例和测试都从解析 CSS 或 HTML sn-p 并访问 DOM 读取开始。如何以编程方式构建 CSS(或 HTML5)文档并将结果输出作为字符串?

我想要这样的东西(伪代码):

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

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

rule.add(style);

【问题讨论】:

    标签: c# anglesharp


    【解决方案1】:

    对于 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(工厂方法或类似方法)。操纵它的唯一方法是使用字符串。这并不理想(我知道),我会添加有用的扩展方法来提供这样的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2011-07-24
      • 2020-02-26
      相关资源
      最近更新 更多