質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

698閲覧

C# HtmlAgilityPack XPathを複数解析する方法

C-shosinka

総合スコア32

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2017/06/17 02:17

#※C#初心者です。
C#(VisualStudio 2017)でHtmlAgilityPackを使って解析?したものをラベルに表示させるものを作っています。

###発生している問題
イメージ説明
XPathを写真のようにして複数のものを解析?しようとしてます。しかし、[foreach (HtmlNode node in nodes)]でどうしたらいいのかつまずいております。初心者なのでよくわかりません。そもそもHtmlAgilityPackでは複数のものを解析?できないのでしょうか。ご回答よろしくお願いします。

###補足情報
XPathは「Html Agility Pack Tester」を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず初めに・・・極力「画像」でコードを示すのではなく、質問入力画面で<code>ボタンを用いて文字テキストでコードを貼ってください。画像の文字が小さすぎる場合オリジナルの画像をブラウザーの別タグで開かないと判別ができないこともあります(本件がそうです)し、回答の際に質問コードをコピペして回答コード例を書くことも不可能になります。回答のしやすさにも配慮して質問していただければと思います。


さて、コードを拝見するとテーブルのある特定行のみのデータを取り出して編集したいということのようですので、foreachは必要ないと思います。次のような感じで処理してはどうでしょうか。

C#

1string html = @" 2<html> 3 <head> 4 </head> 5 <body> 6 <table> 7 <tr><td>a</td><td>b</td></tr> 8 <tr><td>1</td><td>2</td></tr> 9 </table> 10 </body> 11</html>"; 12 13HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 14doc.LoadHtml(html); 15HtmlNode row = doc.DocumentNode.SelectSingleNode(@"/html[1]/body[1]/table[1]/tr[2]"); 16var c1 = row.SelectSingleNode(@"td[1]"); 17var c2 = row.SelectSingleNode(@"td[2]"); 18var txt = string.Format("{0}, {1}", c1.InnerText, c2.InnerHtml); 19Console.WriteLine(txt);

結果=>
1, 2

投稿2017/06/17 04:41

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問