在AngleSharp中,如何使用字符串创建DOM元素?

时间:2019-04-07 06:39:55

标签: c# anglesharp

有没有一种方法可以使用AngleSharp中的字符串创建DOM元素?例如:

var result = document.Create...("<div id='div1'>hi<p>world</p></div>");

1 个答案:

答案 0 :(得分:1)

使用文档片段可以做到这一点。

如何使用文档片段有多种可能,一种方法是使用片段解析在正确的上下文中生成节点列表:

var context = BrowsingContext.New(Configuration.Default);
var document = await context.OpenAsync(r => r.Content("<div id=app><div>Some already available content...</div></div>"));
var app = document.QuerySelector("#app");
var parser = context.GetService<IHtmlParser>();
var nodes = parser.ParseFragment("<div id='div1'>hi<p>world</p></div>", app);
app.Append(nodes.ToArray());

该示例说明了如何在某个元素(在本例中为#app)的上下文中创建节点,并且其行为不同于例如使用InnerHtml来删除现有节点的行为。

希望这会有所帮助!