Html Agility Packのselectnodesがnullを返す

c# html-agility-pack html-parsing

質問

私は、Windowsの携帯電話8デバイス上で作業してからHTML敏捷性パックでHTML文書を解析しようとしてるhttp://www.livescience.com/41480-3d-printed-kidneys-take-small-steps.html私が得ることができます<title>タグを簡単に作成できましたが、今度はその文書から<p>タグ全体を取得したいと考えています。私はこれら2つのソリューション12を試しましたが、うまくいきません。これは、これらのソリューションに基づいた私の実際のコードです

private void loadDoc()
    {
        try
        {
            HtmlWeb.LoadAsync("http://www.livescience.com/41480-3d-printed-kidneys-take-small-steps.html", Html_Completed);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

    private void Html_Completed(object sender, HtmlDocumentLoadCompleted e)
    {
        doc = e.Document;
        title = doc.DocumentNode.SelectSingleNode("//title");
        p = doc.DocumentNode.SelectNodes("//p");
        foreach(var node in p)
        {
          pr = node.InnerText; //that's the text you are looking for
        }
        text1.Text = title.InnerText;
        if (!pr.Equals("") && pr != "")
        {
            text2.Text = pr;
        }
        else
        {
            MessageBox.Show("null");
        }
    }

私が使用しif 、ブロックするかどうかを判断するためforeach nullを返します。誰もこの問題を解決する方法を知っていますか?私はどんな助けにも感謝します。ありがとうございました。

人気のある回答

試してみてください:

p = doc.DocumentNode.SelectNodes(".//p");

の代わりに:

p = doc.DocumentNode.SelectNodes(".//p");

pはタグの型であり、クラスやidではないからです。




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ