2011-01-22 13 views
0

私はそれがhref.Attributes ["onclick"]が存在すれば、それ以外の場合はhrefの値にonclickの値を追加するようにしようとしています。 linq内部でこれをどうやって確認できますか?今私は常にhref値を追加します。linq if文の問題

EDIT:

とどのクラスが次の要素に移動し、何も追加していないが存在する場合。私はこれを忘れる。

+1

HtmlAgilityPackまたはXmlReaderからの外部参照はありますか?あなたがしなければならないチェックのタイプは、それに依存します.. – BrokenGlass

答えて

2

多分...

References = href 
       .Select(href => 
        href.Attributes["onclick"] != null ? 
         href.Attributes["onclick"].Value 
        : href.Attributes["href"].Value) 
       .Distinct(). 
       .ToArray(); 

編集:

だけ

.Where(href => href.Attributes["class"] == null) 
を追加し、質問の更新に答えるために句の前の210

1

hrefは、HtmlAgilityPackからHtmlNodeとします。ご質問の際にご確認ください。

編集class属性のチェックを追加する:

References = hrefs 
       .Where(href => href.Attributes["class"]==null) 
       .Select(href => (href.Attributes["onlick"]!=null) 
        ? href.Attributes["onlick"].Value 
        : href.Attributes["href"].Value) 
       .Distinct() 
       .ToArray(); 
+0

なぜ 'href.Attributes [" class "] == null'をフィルタリングする必要がありますか? –

+0

@ TheSmartest:これは、質問に加えてポスターを解釈する方法です。*クラスが存在する場合、次の要素に移動して何も追加しないでください。*やや曖昧なので、私は完全にはずれるかもしれません。 – BrokenGlass