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

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

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

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

Visual Studio

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2593閲覧

xamarin.androidでのHtmlAgilityPack利用にて

tokuo

総合スコア12

C#

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

Visual Studio

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/07/04 17:06

編集2016/07/04 17:22

###前提・実現したいこと
xamarin.android(visual studio)でのアプリ作成において
HtmlAgilityPackを利用してHtMLスクレイピングをしたいのですが出来ません。

NuGetからHtmlAgilityPackを取得しても、
Github(https://github.com/jstedfast/HtmlAgilityPack/tree/master/HtmlAgilityPack)のcsファイルをプロジェクト内に入れても出来ません。

'HtmlWeb'に'Load'の定義が含まれておらず、型'HtmlWeb'の最初の引数を受け付ける拡張メソッド'Load'が見つかりませんでした。

###該当のソースコード

c#

1using System; 2using Android.App; 3using Android.Content; 4using Android.Runtime; 5using Android.Views; 6using Android.Widget; 7using Android.OS; 8using HtmlAgilityPack; 9 10 11namespace App1 12{ 13 [Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")] 14 public class MainActivity : Activity 15 { 16 protected override void OnCreate(Bundle bundle) 17 { 18 base.OnCreate(bundle); 19 SetContentView(Resource.Layout.Main); 20 21 Button button = FindViewById<Button>(Resource.Id.MyButton); 22 23//ボタン押すとボタンのテキストを変更させたい 24 button.Click += delegate { 25 var url = "http://www.yahoo.co.jp/"; 26 var webGet = new HtmlWeb(); 27 var document = webGet.Load(url); 28 var teamTags = document.DocumentNode.SelectNodes("//title"); 29 button.Text = teamTags[0].InnerText; 30 }; 31 } 32 } 33}

###試したこと
HtmlAgilityPackだけでなくHtmlAgilityPack-PCLで試してもうまくいきません
またその他サイトでやってたことをしても、似たように定義されていない(別のメソッド等)と言われます。

###補足情報(言語/FW/ツール等のバージョンなど)
API19,android4.4
参考にしたサイト
http://qiita.com/deren/items/dbaf9f6f9dcb72abf3f8
https://github.com/mattkrebs/HtmlAgilityPackDemo.Android/blob/master/HtmlAgilityPackDemo.Android/Activity1.cs
http://blog.ch3cooh.jp/entry/20141210/1418137500
https://github.com/Deathspike/HtmlAgilityPack-PCL

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

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

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

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

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

guest

回答1

0

ベストアンサー

HtmlWebクラスの定義を見てみると、Loadメソッドが無いかと思います。
代わりにLoadFromWebAsyncメソッドを使用するのはいかがでしょうか?

投稿2016/07/04 17:43

TAKA_0921

総合スコア234

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

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

tokuo

2016/07/05 10:42

c#開発が初心者なもので、すごくお手数ですが、その先のコードも教えていただけませんか? <title>タグから「Yahoo! JAPAN」を取得して、表示(String型にする)まで
TAKA_0921

2016/07/05 16:54

基本的には、LoadメソッドがLoadFromWebAsyncメソッドに変わるだけだと思います。 Loadメソッドの戻り値はHtmlDocumentですが、 LoadFromWebAsyncメソッドはTask<HtmlDocument>が返されます。 Task<T>からTを取得する方法は以下のMSDNページ等を参考にすると良いかと思います。 https://msdn.microsoft.com/ja-jp/library/hh524395.aspx 近年のモバイルアプリケーション等の実装において 非同期APIの扱い方を知ることは避けて通れないと思いますので、 ドキュメントや各種ブログ等を参考にして取り組まれることをオススメします。
tokuo

2016/07/06 01:38

ご指摘ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問