1

現在、私はWebサイトからC#でHtmlDocumentを扱っています。

return doc.DocumentNode.SelectSingleNode("//span[@title=input]").InnerText;

「input」というタイトルのスパンから内部テキストを取得したいと思います。上記は私の現在のコードですが、実行しようとするとNullReferenceExceptionが発生します。「入力」からテキストを取得するには、暗黙のパラメータは何である必要がありますか?

4

3 に答える 3

2

XPath式では、文字列を引用符で区切る必要があります。

return doc.DocumentNode.SelectSingleNode("//span[@title='input']").InnerText;

Plaininputは、ノードをその名前で照合し、その値に置き換えようとします。

于 2012-10-24T19:14:15.730 に答える
0

span属性を持つ要素が、のオブジェクトにtitle「入力」として値を付けて存在することを確認してください。HtmlDocumentHtmlAgilityPack

適切にチェックするには、次のコードを試してください。

if (doc.DocumentNode != null)
{
    var span = doc.DocumentNode.SelectSingleNode("//span[@title='input']");

    if (span != null)
        return span.InnerText;
}
于 2012-10-24T19:28:09.880 に答える
-1
return doc.DocumentNode.SelectSingleNode("//span[@title='"+input+"']").InnerText;

入力は文字列ではないため、パラメータに合わせて連結する必要があります。助けてくれてありがとう!

于 2012-10-25T18:49:23.007 に答える