2016-05-20 17 views
0

を持つ要素を見つける私はこのようなHTMLを解析する必要があります。CsQuery - 具体的な名前

<div class="navig-nav"> 
    <ul class="navig" id="navigmenu"> 
    <li class="navig-expanded navig-selected">Company</li> 
    <li class="navig-sub"><div>Summary</div></li> 
    <li class="navig-sub"><a href="any_url_1">Some</a></li> 
    <li class="navig-sub"><a href="any_url_2">Interesting</a></li> 
    <li class="navig-sub"><a href="any_url_3">Information</a></li> 
    <li class="navig-item"><a href="any_url_4"><div>From</div></a></li> 
    <li class="navig-item"><a href="any_url_5"><div>Web</div></a></li> 
    <li class="navig-item"><a href="any_url_6"><div>Page</div></a></li> 
    </ul> 
</div> 

をこのメニューでは(あなたが見ることができるように)すべてのクラスが複数の子を持っています。 「面白い」という名前だけの場合は、どのようにcsQueryを使用して「any_url_2」を取得できますか?

dom[".navig-sub"].Find("a:contains('Interesting')") 

良い答え:

CQ dom = "your html here"; 
var result = dom["a[href='any_url_2']:contains('Interesting')"]; 
if (result.Length == 1) 
{ 
    Console.WriteLine(result[0].Attributes["href"]); 
} 

答えて

0

何さてここで

dom["a:contains('Interesting')"]; 

については、より完全なクエリですか?

+0

HTMLははるかに長くなる可能性があります。そして、私は正確にhref "any_url_2"を見つけて、 "Interesting"という単語を含むテキストを見つけないようにしなければなりません。 –

+0

ありがとう、ありがとう。しかし、私が正確なURLを知らず、それを見つけたいと思ったら、どうすればいいですか?単純な最初の答えを使うだけですか? –

+0

あなたが知っているものと探しているものを正確に記述できますか?元の質問では、文字列 "Interesting"のみがわかっていて、それを含んでいるAのURLを探していると述べました。 – kagelos

0

はこれです:

関連する問題