質問

金曜日のこの段階では本当の頭痛の種を手に入れました!私は別の使用InsertAfterにHtmlNodeを追加しようとしています()。私は、コンソールにそれをrpintときパン粉のIDでrefChildのノードを参照してくださいが、次のエラーを取得しておくことができます:

System.ArgumentOutOfRangeException: Node "<div id="breadcrumb"></div>" was not f
ound in the collection
Parameter name: node
   at HtmlAgilityPack.HtmlNodeCollection.get_Item(HtmlNode node)
   at HtmlAgilityPack.HtmlNode.InsertAfter(HtmlNode newChild, HtmlNode refChild)

   at MyHome.Tasks.Tasks.DownloadandStoreContent(KeyValueP
air`2 urlPair, String filePath, HtmlNode HtmlWrapper) in C:\Users\denis\Document
s\Visual Studio 2008\Websites\MyHomeV2\MyHome.Tasks\Tasks.cs:line 81
   at MyHome.Tasks.Tasks.GenerateContent(String scrape
sSwitch, String filePath) in C:\Users\denis\Documents\Visual Studio 2008\Website
s\MyHomeV2\MyHome.Tasks\Tasks.cs:line 27
   at MyHome.Tasks.Program.Main(String[] args) in C:\Users\denis\Documents\Visua
l Studio 2008\Websites\MyHomeV2\MyHome.Tasks\Program.cs:line 87

私のコードは次のとおりです。

HtmlWrapper.InsertAfter(ContentNode, HtmlWrapper.SelectSingleNode("//div[@id='breadcrumb']"));

私はコンソールに(「// divの[ID @ = 『ブレッドクラム』]」)の両方HtmlWrapperとHtmlWrapper.SelectSingleNodeをプリントアウトしており、画面上のノードを見ることができる述べたように。私はここで間違って行くよどこ上の任意のアイデア?

おかげで、 デニス

役に立ちましたか?

解決

InsertAfterrefChildが上InsertAfterボークノードあなたのの直接のの子になりたいと思っているように、ソースの非常にぞんざいな検査から、それが見えます。あなたは//ノードの(div付き)全体descendant軸を検索しているので、それはあなたがrefChildとして渡し、実際のノードがのHtmlWrapperの直接の子ではないことが可能です。

変数にHtmlWrapper.SelectSingleNode("//div[@id='breadcrumb']")を引っ張ってみて、そのInsertAfterParentNodeを呼び出します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top