使用HTML Agility Pack将单个节点替换为多个节点

时间:2012-03-14 18:10:12

标签: c# .net html-agility-pack

我有一些输入标签是占位符,我用一些HTML替换。很多时候,我用它替换它们的HTML只有一个标签,这很容易:

HtmlNode node = HtmlNode.CreateNode(sReplacementString);
inputNode.ParentNode.ReplaceChild(node, inputNode);

但是,如果我想用两个或更多节点inputNode替换HtmlNode.CreateNode(sReplacementString),则只读取第一个节点。有没有办法在sReplacementString是多个标签的情况下进行替换?

1 个答案:

答案 0 :(得分:7)

据我所知,没有直接方式来做到这一点。 HtmlNode.CreateNode方法从HTML代码段创建单个节点,如果有多个节点,则只创建第一个节点。

作为一种解决方法,您可以创建一个临时节点,从sReplacementString创建其子节点,然后在inputNode节点后面追加这些子节点,最后删除{{1 }}

inputNode