我正在循环一个节点集合。我必须用新元素替换当前节点和当前节点的兄弟节点。
我为此编写了以下代码:
private void modifyNodes(IEnumerable<HtmlNode> selectedNodes)
{
foreach (var node in selectedNodes)
{
node.NextSibling.SetAttributeValue("style", "font-weight:bold;padding:2px 2px;");
node.SetAttributeValue("style", "float:right;");
var parentNode = node.ParentNode;
var doc = new HtmlDocument();
var newElement = doc.CreateElement("table");
newElement.SetAttributeValue("style", "background-color:#e4ecf8;width:100%");
var sectionRow = doc.CreateElement("tr");
var headerColumn = doc.CreateElement("td");
headerColumn.AppendChild(node.NextSibling);
var weightColumn = doc.CreateElement("td");
weightColumn.AppendChild(node);
sectionRow.AppendChild(headerColumn);
sectionRow.AppendChild(weightColumn);
newElement.AppendChild(sectionRow);
element.ParentNode.RemoveChild(node);
parentNode.ReplaceChild(newElement, node.NextSibling);
}
}
这是添加新元素并删除传递的节点。但它无法删除节点的下一个兄弟节点。我在这里做错了什么。
请帮忙。