2010-10-01 56 views
7

我試着用以下的innerText設置,但我不允許設置InnerText屬性:設置的innerText與HtmlAgilityPack

node.InnerText = node.InnerText.Remove(100) + ".."; 

這樣做的原因是,我只是想刪除的文字,不是實際的元素:

<div> 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
    <img src="" /> 
</div> 

回答

5

我自己也碰到同樣的問題。儘管文檔中明確指出要麼是隻讀,要麼將其設置爲只讀。但內部文本適用於標籤之間的所有內容。所以如果你有上百個孩子,他們的所有文字,包括實際的標籤都會在那裏。我想要做你和我想要的,我們需要使用Text屬性。獲取實際的標籤並使用Text屬性。

因此,也許

HtmlTextNode.Text = ""; 

請注意,您只能設置文本,如果它的類型是HtmlTextNode的。

或者我想你可能會得到一個更好的結果,如果你只是刪除標籤,並保留孫子。

HtmlNode.Parent.Remove(textTagYouWantRemoved, true);