2016-03-28 5 views
0

私がしたいのは、私が探しているもの(コードの例)を含むテキストを印刷することです。現在、私はHtmlAgilityPackウェブページに見つかったテキストを印刷する

foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]")) 
{ 
     //print the text 
} 

でこれをやろうとしている私はそれが(この場合Test123で)テキスト見つけると、その周りのテキストの多くがあるでしょうね。ただ単にTest123を印刷するのは無意味です。可能であれば、Test123を含む原文を印刷したいと思います。ここに例があります... <input name="something" value="aaaTest1234" /><body>bbbTest12345</body> ...それぞれaaaTest1234bbbTest12345を印刷します。

答えて

0

HtmlNodeからOuterHtmlプロパティの生HTMLを印刷するとどうですか? :「入力名=」何か「値= 『aaaTest1234は』」(含む) 『<>』内のすべての内容は、 『HtmlNodeが見つかった』として、あなたは属性値を解析する必要があるときに返されることになるために

foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]")) 
{ 
    //print HTML of the element that contain the text: 
    Console.WriteLine(found.OuterHtml); 
} 
1

あなたが興味を持っている部分を得るために 'found'の 2番目の場合、bodyのInnerTextを解析する必要があります。

+0

ありがとうございます。だから、一般的な検索を行う方法はありません?私は特定の事例を探す必要がありますか? –

+0

もしこのようにしなければならないのであれば、検索した値がどの属性に含まれているかを少なくとも知ることはできますか? –

+0

@MichaelBlake、GetAttributeValue(string name、string def)を試すことができます。チェック - http://www.nudoq.org/#!/Packages/HtmlAgilityPack/HtmlAgilityPack/HtmlNode/M/GetAttributeValue –

関連する問題