Ich verwende HtmlAgilityPack, um eine Zeichenfolge zu analysieren, die HTML-Code enthält. Ich versuche die <span>
-Tags zu entfernen, behalte aber den Inhalt zwischen ihnen. Hier ist mein Code, soweit:
var text = @"<div><span>This is some text.</span>More text here.</div>
<div>I have a question.<span>Hi</span></div>";
var doc = new HtmlDocument();
doc.LoadHtml(text);
var nodes = doc.DocumentNode.SelectNodes("//span");
foreach (HtmlNode node in nodes)
{
node.Remove();
}
String result = doc.DocumentNode.InnerHtml;
Das Problem ist, das result
fehlt "Dies ist ein Text." - Der Text zwischen den <span>
-Tags. Wie kann ich erreichen, was ich versuche? Ich node.Remove
, dass node.Remove
tatsächlich den gesamten Knoten entfernt, ich habe nur gehofft, dass es eine Möglichkeit gibt, remove.Node
sagen, aber den Inhalt behalten.
Entferne diesen Knoten vom Elternteil und behalte die Enkelkinder bei.
foreach (var node in nodes)
{
node.ParentNode.RemoveChild(node,true);
}