の後ろにテーブルを取得します。右私は右の要素の後ろに配置されたテーブルを取得したい要素
<body>
<h3>test</h3>
<table>
<tr><td>abc</td></tr>
</table>
<h3>test2</h3>
<table>
<tr><td>def</td></tr>
</table>
[...]
</body>
だから私は、H3要素「テスト」(またはコンテンツの後にテーブルを取得したいです私はこの種のものをする方法を知っています)。 テーブル "test"は必ずしも最初ではなく、秒テーブルの後のどこかにある可能性があります。
[編集]
このコードなぜあなたは知っていますか:私は "/ H3" と "テーブル" の後に復帰を削除する場合
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html); //your test html
var s = doc.DocumentNode.Descendants("table").Where(_ => _.PreviousSibling.PreviousSibling.Name.Equals("h3") && _.PreviousSibling.PreviousSibling.InnerText.Equals("test"));
foreach (var st in s)
{
Debug.WriteLine(st.InnerHtml);
}
が動作しませんか?
それは次のようになります。これは、XPathのために何かのように聞こえる
string html = @"<body><h3>test</h3><table><tr><td>abc</td></tr></table><h3>test2</h3><table><tr><td>def</td></tr></table></body>"
代わりに上記のHTMLコードが、結果がnullである...
しかし、h3(テスト)のテキストを検索するにはどうすればよいですか?私は2つのh3を持っているので –
これは何か? 'doc.DocumentNode。( "test")); –
ありがとうございました:D(あなたはありがとう:D) –