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

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

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

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

Q&A

解決済

1回答

5962閲覧

GetAttributeで値を得たい

cancat

総合スコア313

C#

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

0グッド

0クリップ

投稿2017/10/29 10:23

こんにちは。
Windows10でWindows Formのアプリケーションを開発しています。
Visual Studio 2017 Communityを使っています。

###前提・実現したいこと
GetAttributeで値を得たいです。

###試したこと
下記コード。

###発生している問題・エラーメッセージ
id, nid, urlは取得できるが、styleはcomobjectになる。

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

html

1<div class="pgbox normal" id="36104419" style="left: 0px; top: 3828px; height: 123px;" nid="32080" url="http://www.nhk.or.jp/darwin/" src="http://api.tver.jp/cache/core.ipg-minds.jp/repix2/mnt/ipgna01d-smb/prod/monomedia/nhk/meta/images/bangumi/20392/20392_1.jpg?copy=%28C%29NHK&amp;color=ffffff&amp;width=512&amp;height=288"> 2 <div class="pheader"> 3 <span class="min" "="">30</span> 4 5 <span class="flag "></span> 6 7 <span class="title">ダーウィンが来た!「高速道路に5000羽!?サギ大集結」</span> 8 <span class="subtitle nodisp"></span> 9 <span class="start_time nodisp">10月29日(日)</span> 10 </div> <!--pheader//--> 11 <p>衝撃の光景!名古屋市近郊の高速道路に動物園のような鳥の山。6種5000羽が集まる日本最大級のサギの繁殖地だ。でもなぜこんな危険な場所に?サギ大集結の真相に迫る。</p> 12 </div>

C#

1HtmlElementCollection divs = webBrowser.Document.GetElementsByTagName("div"); 2 foreach (HtmlElement div in divs) 3 { 4 try 5 { 6 string attribute = div.GetAttribute("className"); 7 8 if (attribute == "pgbox normal") 9 { 10 string id = div.GetAttribute("id"); 11 string style = div.GetAttribute("style"); 12 string nid = div.GetAttribute("nid"); 13 string url = div.GetAttribute("url"); 14 } 15 } 16 catch (System.Exception exception) 17 { 18 } 19 }

###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2017
Version 15.0.26228.9 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586

です。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Styleプロパティから取れます。

cs

1string style = div.Style; 2 3// 出力 4// HEIGHT: 123px; LEFT: 0px; TOP: 3828px

投稿2017/10/29 10:39

aglkjggg

総合スコア769

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

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

cancat

2017/10/29 11:25

おお。なるほど。ちなみにstyleの中身をわけてstringで取得するにはどうしたらよいですか?
aglkjggg

2017/10/29 11:28 編集

ご自身で考えてから質問していますか?「;」で区切られているのでSplitすればいいと思います。これ以上は自分で考えて下さい。
cancat

2017/10/29 11:31

あ。やっぱりsplitですか。了解。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問