HtmlAgilityPack - 刪除子節點但保留主節點的內部文本而不使用XPath

c# html-agility-pack

我有html喜歡:

<div class="asd"> lalala </br> lalala2 <div> aaaaa </div> </div>

我需要在不使用XPath的情況下只獲得“lalala \ n lalala2”。

一般承認的答案

您可以為HtmlNode創建擴展方法

public static class HtmlHelper
{
    public static string InnerText(this HtmlNode node)
    {
        var sb = new StringBuilder();
        foreach (var x in node.ChildNodes)
        {
            if (x.NodeType == HtmlNodeType.Text)
                sb.Append(x.InnerText);

            if (x.NodeType == HtmlNodeType.Element && x.Name == "br")
                sb.AppendLine();
        }

        return sb.ToString();
    }
}

只需找到節點並調用node.InnerText()




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因