有没有一种方法可以使用AngleSharp中的字符串创建DOM元素?例如:
var result = document.Create...("<div id='div1'>hi<p>world</p></div>");
答案 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
来删除现有节点的行为。
希望这会有所帮助!