2

有没有办法在 AngleSharp 中使用字符串创建 DOM 元素?例如:

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

1 回答 1

3

这可以使用文档片段来实现。

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

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将删除现有节点。

希望这可以帮助!

于 2019-04-28T08:37:18.023 回答