我正在使用 HTML Agility Pack 在同一页面上做两件不同的事情。
对于第一个,我需要删除脚本、样式等元素。但是对于第二个,我必须保留所有元素。
因为我不能在第一部分之前做第二部分,所以我首先在寻找一种复制对象的方法,这样我就可以保存第二部分的所有元素。那是我尝试过的代码,但是出于某种原因,我没有得到其中的节点。
HtmlDocument HTMLdoc = new HtmlDocument();
HTMLdoc.LoadHtml(sFetch);
//duplicate document node
var webPage = HtmlNode.CreateNode("<html></html>");
webPage.CopyFrom(HTMLdoc.DocumentNode,true);
我想到的另一种方法是反转选择我要删除的所有元素的xpath。所以我将能够只选择它们而无需真正从对象中删除元素。但我不知道如何使用 XPath“not()”函数来反转我的查询。那是我的 XPath 查询:
"//script | //style | //iframe | //select | //textarea | //comment() | //a[@href]"
感谢您的时间和帮助:)