HtmlAgilityPack 數據抓取select

今天在遇到數據抓取的時候,

<select name="vessel" id="vessel" class="list">
<option value="00">All</option>
<option value="4618">ABILITY</option>
<option value="1333">ACX CHERRY</option>
<option value="1332">ACX COSMOS</option>
<option value="4275">ACX CRYSTAL</option>
<option value="4277">ACX DIAMOND</option>
<option value="1322">ACX HIBISCUS</option>
<option value="782">ACX LILY</option>
<option value="786">ACX MARGUERITE</option>
<option value="4182">ACX PEARL</option>
<option value="4019">ACX SATSUMA</option>
<option value="3550">ADELINA D</option>
<option value="4619">ADMIRATION</option>
<option value="3866">AEGEAN EXPRESS</option>
<option value="1704">AGLAIA</option>
<option value="4388">AGNES RICKMERS</option>
<option value="4105">AKARI</option>
</select>


發現select 總是出現錯誤,最開始也沒找到 HtmlAgilityPack  中抓取select的方法,使用了最笨的方法用index和Substring 進行一步一步取的數據:可是數據還是會出現問題:

在多方面查找資料才找到

 public Dictionary<string, string> getvessel()
        {
            Dictionary<string, string> dicV = new Dictionary<string, string>();
            string xmlpath = @"//select[@id='vessel']/option";
            HtmlNodeCollection nodeCollection =AgilityPackDoc.DocumentNode.SelectNodes(xmlpath);
            if (nodeCollection == null)
                return dicV;
            foreach (var item in nodeCollection)
            {
                var key = item.Attributes["value"].Value;
                var value = item.NextSibling.InnerText;
                dicV.Add(key, value);
            }
            return dicV;
        }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章