有没有办法在 AngleSharp 中使用字符串创建 DOM 元素?例如:
var result = document.Create...("<div id='div1'>hi<p>world</p></div>");
有没有办法在 AngleSharp 中使用字符串创建 DOM 元素?例如:
var result = document.Create...("<div id='div1'>hi<p>world</p></div>");
这可以使用文档片段来实现。
如何使用文档片段有多种可能性,一种方法是使用片段解析在正确的上下文中生成节点列表:
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
将删除现有节点。
希望这可以帮助!