HTML Agility Packを使用して、同じページで2つの異なることを実行しています。
最初の要素では、スクリプトやスタイルなどの要素を削除する必要があります。ただし、2番目の要素では、すべての要素を保持する必要があります。
最初の部分の前に2番目の部分を実行できないため、最初にオブジェクトを複製する方法を探しています。これにより、2番目の部分のすべての要素を保存できます。それは私が試したコードですが、いくつかの理由で、その中にノードがありません。
HtmlDocument HTMLdoc = new HtmlDocument();
HTMLdoc.LoadHtml(sFetch);
//duplicate document node
var webPage = HtmlNode.CreateNode("<html></html>");
webPage.CopyFrom(HTMLdoc.DocumentNode,true);
私が考えたもう1つの方法は、削除するすべての要素を選択するxpathを反転することです。したがって、オブジェクトから要素を実際に削除しなくても、それらだけを選択できるようになります。しかし、XPathの「not()」関数を使用してクエリを反転する方法がわかりません。これが私のXPathクエリです。
"//script | //style | //iframe | //select | //textarea | //comment() | //a[@href]"
あなたの時間と助けてくれてありがとう:)