HTMLのリンク先オブジェクトの存在確認 – プログラミング – Home

HTMLのリンク先オブジェクトの存在確...
 
通知
すべてクリア

[解決済] HTMLのリンク先オブジェクトの存在確認


bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
Topic starter  

HTMLのリンク先オブジェクトの存在確認に関する質問です。
ShellExecute(NULL, open, ABC.htm, NULL, NULL, SW_SHOWNORMAL);
のような呼び出しにおいて、リンク先が正しく表示されたかどうかは、戻り値が
NULLであるかどうかをチェックするだけで分かります。

しかし、
ShellExecute(NULL, open, ABC.htm#xyz, NULL, NULL, SW_SHOWNORMAL);
のような呼び出しの場合、ABC.htmが存在し、ABC.htm中に <A NAME=xyz>が存在
しなくても、ABC.htmの先頭を表示して、戻り値は正常終了となってしまいます。

このような場合に、<A NAME=xyz>が存在することを簡単に調べる方法はないで
しょうか。むろん、HTMLファイルなどはテキストファイルなので、自分で解析す
れば分かるでしょうが、それではあまりに大変すぎます。


引用未解決
トピックタグ
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
Topic starter  

これだけ経っても音沙汰がないところを見ると駄目っぽいですね(T_T)
仕方ないので、テキストファイルを解析することにします。
ありがとうございました。


返信引用
玲音 (st.lain)
 玲音 (st.lain)
(@玲音 (st.lain))
ゲスト
結合: 17年前
投稿: 89
 

やったことがないので発言を避けていましたが。

> ABC.htmの先頭を表示して、戻り値は正常終了となってしまいます。
ShellExecute()自体は戻り値が示すように、プロセスが立ったかどうかしか
判断しないので、アンカーについては考慮しないと思われます。

MSHTMLとか使用すればできるのでは、とか思ったりしてます。
(記事をざっと見ただけなので間違ってるカモ知れず)

>> 第 3 回 VC# で MSHTML テクノロジ
> http://www.microsoft.com/japan/msdn/academic/Articles/fun/03/
図7あたりが正にそれっぽいような感じカナ、と思われます。

>> Lightweight HTML Parsing using MSHTML
> http://www.codeguru.com/cpp/i-n/ieprogram/article.php/c4385/
MSHTMLとVC++でググった結果の記事です。他にも有用な
サイトは幾つか見つかります。

# PG掲示板なら首を長くして待つのをお勧めします。1日は結構短いかと。


返信引用
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
Topic starter  

玲音 (st.lain) さん、どうもです。

すいません、この話は終わったものだと思っていて、今日見たらRESがついてたので、あ
わててお返事させていただいています。

私が最初に求めていたのは、ABC.htm に <A NAME=xyz>だけがあった場合に、
ABC.htm#xyzの呼び出しが成功し、
ABC.htm#xxxの呼び出しがエラー
となるようなAPIでした。
あるなら、即返事があるだろうと見越して、確かに返答待ち時間が短かったかもしれま
せん(^^;)

しかし、テキスト解析する前提なら、玲音 (st.lain)さんのおっしゃっている方法も一
理ありますね。まったく想定外の盲点でした。ただし、今回は検索対象のHTML自体が自
作であり、その自作HTMLのチェック用アプリという位置づけのため、検索対象文字列は
完全に定型様式とできます。
定型文字列の検索であれば、普通の文字列検索の方が速いであろう事から、BM法のアル
ゴリズムを用いたテキスト検索を行うことにしました。
BM法 : http://ja.wikipedia.org/wiki/BM%E6%B3%95

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


返信引用
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
Topic starter  

無事、作業が完了しました。
お世話になりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました