1
考慮以下...可以DocumentNode.SelectSingleNode跳過錨標籤事件的選擇嗎?
HtmlNode myDiv = doc.DocumentNode.SelectSingleNode("//div[@id='someid']");
......其中所產生myDiv.InnerHtml包含:
<span>...other content I want to consume...</span>
<a href="http://www.somewhere.com" onmousedown="return somefunc('random','parm','values','SHXA213')">Click Me</a>
<span>...and more content I want to consume...</span>
有沒有辦法來不選擇的onmousedown事件部分錨標籤?
解決方案
我需要做的是以下幾點:
HtmlNodeCollection anchors = myDiv.SelectNodes(@"//a[@class='someclass']");
anchors[0].SetAttributeValue("onmousedown", "");
// could have also used anchors[0].Attributes.Remove() or .RemoveAt()
你能否解釋一下你想要完成的事情?爲什麼在你的情況下,onmousedown不好?如果您使用SelectSingleNode的結果,則可以忽略任何您不關心的子節點/屬性。我有一種感覺,有一些我錯過了。 – ckramer 2010-06-19 00:28:26
當然,我正在從Google搜索一些搜索結果。我需要InnerHtml內容幾乎是從一個單獨的div。 onmousedown在我將這些結果消費到的網站上下文中拋出javascript錯誤。我想SelectSingleNode會允許一種方式來忽略屬性,但我還沒有能夠找到語法。 – Clay 2010-06-19 00:34:25