2017-02-12 17 views
-1

私はHtml Agility Packに問題があります。私はパーサを書いているし、これは私の問題です:私はSelectSingleNodeを使用して内部テキストを取得しようと何らかの理由でSelectSingleNodeが機能しない

毎回私はnull参照を取得:

foreach (var singleBox in boxes.SelectNodes(".//div/div")) 
{ 
    var titleNode = singleBox.SelectSingleNode(".//h2/a").InnerText; 
} 

しかし、私はそれを使用して、入れていませんforeach.//h2/aそれは

foreach (var singleBox in boxes.SelectNodes(".//div/div/h2/a")) 
{ 
    var titleNode = singleBox.InnerText; 
} 

問題がどこにあるか誰か教えていただけますか?動作しますか

要素のInnerHTMLまたはInnerTextはいずれもプレーンテキストの1つです。そして、私は単一ノードのシングルノードを取得しようとしていますforeach ...

+0

いくつかのhtmlコードを追加できますか? – Kalten

+0

それは大丈夫です、私は別の方法でそれを解決しました。 – Holdim

答えて

0
foreach (var box in doc.DocumentNode.SelectNodes("//*[@id=\"content\"]/div/div/div/div")) 
{ 
    var singleBoxTitle = box.SelectSingleNode(".//*[contains(@class,'feed_title')]/h2/a"); 

    var singleBoxArticles = box.SelectNodes(".//*[contains(@class,'newsbox_inner')]"); 
    if(singleBoxArticles != null) 
    { 
     foreach (var singleArticle in singleBoxArticles) 
     { 
      var singlefoundArticle = singleArticle.SelectSingleNode(".//div"); 
      if (singlefoundArticle != null) 
      { 
       foreach (var partOfSomething in singlefoundArticle.SelectNodes(".//div/a")) 
       { 
        if (singlefoundArticle != null) 
        { 
        } 
       } 
      } 
     } 
    } 
} 
関連する問題