當使用螢火蟲或一些小書籤的:的XPath +螢火蟲+ XML/HTML + HTML AgilityPack C#
javascript:(function(){var a=document.createElement("script");a.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js");if(typeof jQuery=="undefined"){document.getElementsByTagName("head")[0].appendChild(a)}(function(){if(typeof jQuery=="undefined"){setTimeout(arguments.callee,100)}else{jQuery("*").one("click",function(d){jQuery(this)[0].scrollIntoView();for(var e="",c=jQuery(this)[0];c&&c.nodeType==1;c=c.parentNode){var b=jQuery(c.parentNode).children(c.tagName).index(c)+1;b>1?(b="["+b+"]"):(b="");e="/"+c.tagName.toLowerCase()+b+e}window.location.hash="#xpath:"+e;prompt('Twoje wyrazenie:',e);d.preventDefault();d.stopPropagation();jQuery("*").unbind("click",arguments.callee)})}})()})();
我收到一個HTML的XPath的。爲了通過HTML Agility Pack或Sgml解析HTML,我需要將它轉換爲XHTML(XML)。 但問題是(我認爲)XHTML的XPath不同於HTML的XPath。 這就是爲什麼與
HtmlNode valueNode = doc.DocumentNode.SelectSingleNode(Firebugs_XPath);
例如使用時Firebug的「XPath的複製」功能不起作用,螢火/書籤給(如果我刪除TBODY它不會幫助):
/html/body/div[2]/table/tbody/tr/td[2]/table/tbody/tr[2]/td[2]/form/table/tbody/tr[2]/td/div/table/tbody/tr/td[2]/table/tbody/tr[2]/td[2]/u
和適當的代碼是(給予或採取):
/html/body/div/table/tr[1]/td[2]/table/tr[1]//td[2]/table[2]/tr[1]//td[2]/table/tr/tr/td[2]/u
我的問題是 - 如何解決這個問題的行爲,爲了使firebugXpath-> HtmlAgilityPack工作。 而且 - 這是可能的,以使用內置C#WebBrowser組件的書籤。
我真的很感謝你的幫助。