gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:01:41 27 4
gpt4 key购买 nike

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

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

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

最佳答案

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

作为解决方法,您可以创建一个临时节点,从 sReplacementString 创建它的子节点,然后将这些子节点追加到 inputNode 节点之后,最后, 删除 inputNode

var temp = doc.CreateElement("temp");
temp.InnerHtml = sReplacementString;
var current = inputNode;
foreach (var child in temp.ChildNodes)
{
inputNode.ParentNode.InsertAfter(child, current);
current = child;
}
inputNode.Remove();

关于c# - 使用 HTML Agility Pack 将单个节点替换为多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com