我需要爲文檔中的每個HTML標記添加一個自定義屬性,其編號與this question類似,但僅限於HTML,而不是XML文件。向每個HTML標記添加數字屬性
我試着用HTML敏捷性包來完成它,這是我的代碼:
HtmlDocument htmldoc = new HtmlDocument();
htmldoc.LoadHtml(text);
var num = 1;
foreach (HtmlNode node in htmldoc.DocumentNode.DescendantNodes())
{
node.Attributes.Add("gist_num",(num++).ToString());
}
var numberedfilename = Path.GetDirectoryName(fname) + @"\" + Path.GetFileNameWithoutExtension(fname) + "-num.htm";
htmldoc.Save(numberedfilename);
但我在HTML敏捷性包HtmlTextNode類在這裏得到一個堆棧溢出異常。 我嘗試了幾種方法通過更改類來糾正這個錯誤,但無濟於事。
你會在這裏建議什麼?
---編輯--- 所以,異常只是寫入控制檯的「堆棧溢出」。
「由於StackOverflowException導致進程終止」。
由於它是堆棧溢出,所以不可能獲得任何堆棧值。 這裏是VS顯示此異常發生的代碼:
/// <summary>
/// Gets or Sets the text of the node.
/// </summary>
public string Text
{
get
{
if (_text == null)
{
return base.OuterHtml;
}
return _text;
}
set { _text = value; }
}
因此,任何想法?
你能發佈異常和堆棧跟蹤嗎? –
@Richard我明天下班了,我剛回到家,手上沒有代碼 - 謝謝你的建議! –
@Richard我添加了一些我可以得到的信息。 –