0

HtmlAgilityPackの学習を始めたばかりで、長い間廃棄していました。

毎回同じアイテムが返されるため、アイテムをループする方法がわかりません。

コード:

  HtmlNodeCollection nodesMatchingXPath = mainNode.SelectNodes("//tr[@class='ad_listitem']");
               if (nodesMatchingXPath.Count > 0)
               {
                   foreach (HtmlNode hn in nodesMatchingXPath)
                   {

                       HtmlNode title = hn.SelectSingleNode("//a[@class='name_psb_link hover_text_decoration']");
                       if (title != null)
                       {
                         // SAME TITLE EACH TIME MEANING SOMETHING TO DO WITH XPATH
                       }
                    }
                }

カウントが 200 であるため、すべてのアイテムを取得することがわかりますが、これがそれらをループする儀式的な方法なのか、毎回同じ情報を返すパスに関係するものなのかはわかりません。代わりにドキュメント全体を検索する可能性がありますその単一ノードの。

4

1 に答える 1

1

/( your のように) で始まる XPath 式"//a[@class='name_psb_link hover_text_decoration']"は、現在のノードからではなく、常にルートから開始されます!

.(のように) で開始".//a[@class='name_psb_link hover_text_decoration']"して、現在のノードから開始します。

于 2013-05-15T11:35:13.900 に答える