0

以下は私のhtmlスニペットです。クラス名を持つN個のDIVがあり、品質のあるクラス名を持つ各divをquality抽出したいと考えています。<a href>

イースティン イージー シチズン アーメダバード

<div class="quality wrap">
<a href="/Hotel_Review-g297608-d4464287-Reviews-Eastin_Easy_Citizen_Ahmedabad-Ahmedabad_Gujarat.html" id="property_4464287"class="property_title" onclick=" ta.setEvtCookie('Reviews', 'HotelName', 297608, 0, this.href); ta.util.cookie.setPIDCookie(15176);">
Eastin Easy Citizen Ahmedabad</a> </div>

<div class="quality wrap">
<a href="/Hotel_Review-g297608-d4464287-Reviews-Eastin_Easy_Citizen_Ahmedabad-Ahmedabad_Gujarat.html" id="property_4464287"class="property_title" onclick=" ta.setEvtCookie('Reviews', 'HotelName', 297608, 0, this.href); ta.util.cookie.setPIDCookie(15176);">
Eastin Easy Citizen Ahmedabad</a> </div>

<div class="quality wrap">
<a href="/Hotel_Review-g297608-d4464287-Reviews-Eastin_Easy_Citizen_Ahmedabad-Ahmedabad_Gujarat.html" id="property_4464287"class="property_title" onclick=" ta.setEvtCookie('Reviews', 'HotelName', 297608, 0, this.href); ta.util.cookie.setPIDCookie(15176);">
Eastin Easy Citizen Ahmedabad</a> </div>

私は次のことを試しました

var nS = page.DocumentNode.SelectNodes("//div[@class='quality']//a");
            foreach (HtmlNode linkNode in nS)
            {
                //do something
            }

しかし、NullPointerException誰でも私を助けてくれますか

4

1 に答える 1

1

それは品質ではなく高品質のラップであるべきです

"//div[@class='quality wrap']//a"

だからそうなるだろう

var hrefList=page.DocumentNode
                 .SelectNodes("//div[@class='quality wrap']//a")
                 .Where(e=>e.InnerText.Trim()=="Eastin Easy Citizen Ahmedabad")
                 .Select(x=>x.Attributes["href"].Value)
                 .ToList();
于 2013-09-30T07:04:29.753 に答える