• ベストアンサー

C#で使用できるHTMLパーサを探しています。

度々お世話になります。 表題の通り、C#用のパーサを探しています。 自分でも探してはおりますが、少し古いものだと HTML5に対応しているのかどうか等が不安になります。 dll、ソースレベル、どちらでも構いません。 おすすめなものがありましたら、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

HTML 5自体,それを意識してパースしなければいけない構造にはなっていないはずですが……。 とりあえず,使えそうな物を。 ・mshtml IEのコアを利用。 標準で入っている 独自のオブジェクト構造で取り扱う COMなのでMarshal.ReleaseComObject祭りかつマルチスレッドとの相性があまりよくない。 ・Html Agility Pack https://nuget.org/packages/HtmlAgilityPack 独自のオブジェクト構造で取り扱う ・SGMLReader https://nuget.org/packages/SgmlReader XMLReaderの代替として利用 (XMLDocmentやXDocumentのLoadで利用)

tatapatank
質問者

お礼

ありがとうこざいました。

関連するQ&A

  • C++: HTMLパーサを探しています。

    C++のHTMLパーサライブラリを御存じの方がおられましたら、教えて頂けませんでしょうか。 XMLパーサはちらほら見つかるのですが、HTMLの解析ができるものを探しております。 PerlモジュールのHTML::TreeBuilderのようなtree構造の解析までできるものが理想です。 宜しくお願いいたします。

  • HTMLパーサ

    取得したWEBページのソースからHTMLタグだけを抜き出せるパーサを探しています。 一般的に使われているものを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTML::Parserの解析結果

    HTML::Parserを使ってHTMLからimgタグを抽出しようとしています。 http://homepage3.nifty.com/hippo2000/perltips/html/Parser.htm などの解説どおりに書けばimgタグの各項目を取り出すことは出来るのですが結果を配列で取得することができません。 解析したいHTMLを渡すことでimgタグの各情報を配列で受け取るには堂書けばいいのか教えてください。 HTML::TokeParserも試してみましたがまれに正しく抽出できない場合があり使えませんでした。 同じHTMLをHTML::Parserで解析したところ全て正しく抽出できたのでHTML::Parserで処理したいと考えています。

  • HTML::Parserの挙動がよく分かりません

    CGIプログラミング第2版を読みながらCGIを学習しています。 11章 "ステートの保持"の11.1 クエリ文字列とパス情報の例題ではまっております。。。 これはURLに識別子を埋め込んでユーザーを追跡するという、超ハイテクなスクリプトです。 とりあえず、記載されているとおりにスクリプトを作成してHTMLファイルも用意しました。 HTMLファイルの内容は超簡単で <HTML><HEAD><TITLE>store</TITLE></HEAD><BODY><A href="abc.html">abc</A></BODY></HTML> です。 これでユーザーがhttp://ウェブサーバー/store/下のファイルをリクエストすると、自動的にスクリプトが実行され、カスタマイズされたHTMLファイルが返されるという仕様です。 実際に返されたHTMLファイルを見てみると <HTML><HEAD><TITLE>store</title></head><BODY> なんと<A>タグ以降がばっさり切り落とされていました^^ しかもタグは全部大文字で書いたのに一部小文字になっていたりと、意味不明な状況です。 たぶんHTML::Parserなるものが、いろいろHTMLファイルを操作しているとは思うのですが、今回返されたHTMLはどう見ても壊れているような・・・。

    • ベストアンサー
    • Perl
  • JavaでのXMLパーサの使用について

    javaでパーサを使ってDOMツリーを作成したいのですが、パーサインスタンスが作成できずにエラーがでてしまいます。ちなみにコンパイルは通ります。 以下にソースとエラー内容を記述しますので、もしよろしかったらどなたか教えて下さい。 import java.io.*; import com.ibm.xml.parsers.*; import org.xml.sax.*; import org.w3c.dom.*; public static void main(String[] args){ try{      //XML文書作成 String xml = "<sample>Hello Java World</sample>"; //DOMパーサ作成 DOMParser parser = new DOMParser(); //入力ストリーム作成      StringReader sr = new StringReader(xml); InputSource is = new InputSource(sr); //パースする parser.parse(is); //ドキュメントを得る Document doc = parser.getDocument(); //トップレベル要素を得る Element el = doc.getDocumentElement(); System.out.println("Top Level Element: " + el.getTagName()); } catch(Exception e){ e.printStackTrace(); } } エラー内容: java.lang.NoClassDefFoundError: com.ibm.xml.parsers.DOMParser java.lang.Throwable(java.lang.String) java.lang.Error(java.lang.String) java.lang.LinkageError(java.lang.String) java.lang.NoClassDefFoundError(java.lang.String) void pkxml.dom.PsDomBean.makedom() void pkxml.dom.PsDomBean.makedom() void pkxmlsutabu.Sutabu.main(java.lang.String [])

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 ・・・・・について

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> とサイトのソースを見ると上にこういうのがありますが、これは一体なんなんでしょうか?  よろしくお願いします。  

  • C/C++でHTMLソースの取得はできますか?

    はじめまして、こんばんは。 現在、C/C++を用い特定のページのHTMLソースを取得したいと考えておりますが、 このようなことはできるのでしょうか? 開発環境はVidualStudio.NETを使っています。 お手数ですが、このようなことができる方法を知っておられる方が いらっしゃいましたら、ご教授ください。

  • C++ と HTML で、共有メモリ・・・

    お世話になります C++とHTMLで共有メモリを使用したいと考えています C++Builderを使用するので、C++とHTMLの起動されるアプリケーションは同じとなります 無理でしょうか? 最終手段として一時ファイルを使用する手を考えています よろしくお願い致します

  • HTMLってなにかもしらないんです…

    マックで作った画像をJ-phoneでアニメーションさせたい、と調べたところ、どうもHTMLが書けないと無理みたいなんですが、そもそもHTMLがなにかってこともわかりません。ちなみに一応アントラージュでHTML書式を選んで、公式サイトにあったとおりに書いて画像をてん付してみたり、人のアニメーションのソースを書き換えてみたりしてみたんですが、HTMLと画像がそのまま表示されてしまいました…。 たぶん根本的なところがまちがっているせいだと思うので、このさい勉強しようと思うのですが、こんなド素人にでもわかりやすいHTML入門のおすすめテキスト、サイトなどありましたら教えてください。よろしくお願いします。(用語などで意味不明のところがあったらすみません)

    • ベストアンサー
    • HTML
  • C言語をHTMLに整形してくれるツールを探しています

    C言語のソースをHTMLに直してくれるサイトやプログラムはあるでしょうか・・・。見やすいように一行おきに背景色を付けてくれるものを探しているのですがVectorでは見つけられなくて質問しました。

専門家に質問してみよう