- - PR -
ASPでのDOMの使用について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-22 03:11
てんです。
いつもお世話になっております。 .NETではないのですが、ASPに関する書き込み場所が 分からなかったのでこちらに投稿させて頂きます。 間違っていたら申し訳ありません。 ASPでDOMを使用してXMLの読み込みを行おうとしているのですが、 失敗してしまいます。 同じ内容のvbscriptをtest.vbsというファイルで保存して実行した場合 読み込みは成功しています。 vbscript部分は以下のとおりです。 Dim objDOM, rtResult Set objDOM = WScript.CreateObject("MSXML2.DOMDocument") rtResult = objDOM.load("sample.xml") vbsを実行した場合は rtResult には Trueが返ってきており、 aspで実行した場合には rtResult には 何も返ってきていません。 (読み込みできていない) 環境は Windows XP SP1 MSXML4.0 SP2 Windows Script Host 5.5 IIS 5.1 IE 6.0 IISの設定は匿名アクセス不可としています。 MSXMLのDOMについてはHP上にもいろいろと情報があり、 調べてはみたのですが、解決できませんでした。 何か設定で必要なことやコード上の問題があれば どなたかご教授願えませんでしょうか。 他に必要な情報があればそちらについてもご連絡ください。 よろしくお願いします。 | ||||
|
投稿日時: 2005-07-22 09:20
※サーバ側にDOMのバージョンを書かれているので、サーバサイドの処理と仮定します。
ぱっと見引っかかるのは、CreateObjectですかね。 確かサーバサイドでは"Server.CreateObject"と記述すべきだったと記憶しています。 エラーは出てないんですかね? On Error Resume Nextを指定しているなら一旦外して確認するか、Err.NumberとErr.Descriptionを確認してみることをお勧めします。 [修正] 先頭の注釈追加 [ メッセージ編集済み 編集者: でっち6号 編集日時 2005-07-22 09:30 ] | ||||
|
投稿日時: 2005-07-22 09:42
でっち6号 様
返信ありがとうございます。 今後はサーバ側で実行する予定ですが、 現在はlocalhostでテストを行っています。 ご指摘の通り、On Error Resume Nextとしておりましたので、 これをはずして、実行したところ、Wscriptは宣言されていませんとのエラーが発生し、 でっち6号様のご指摘どおり Server.CreateObjectに修正したところ、Falseが返ってきました。 (とりあえず進歩) 結果としてはまだ読み込み成功できていませんので Server.CreateObject で再度調査してみたいと思います。 また何か情報あれば引き続きよろしくお願いします。 下記は修正したaspのコードです。 (html部分は一部抜粋) <%@ LANGUAGE=VBScript %> <% Option Explicit Dim objDOM, rtResult Dim Message Dim ErrMessage Set objDOM = Server.CreateObject("MSXML2.DOMDocument") rtResult = objDOM.load("sample.xml") If rtResult = True Then ErrMessage = "読み込みできました。" Else ErrMessage = rtResult End If Set objDOM = Nothing %> <!-- #include file="header.inc" --> <BR> 結果は<%=ErrMessage%>です。 </form> </body> </html> | ||||
|
投稿日時: 2005-07-22 09:43
ASP の中で WScript なんか使っちゃダメです。 | ||||
|
投稿日時: 2005-07-22 09:53
てんさん
前進してなによりです。 読み込めないのはパスの指定が原因だと思います。 objDOM.load(Server.MapPath("sample.xml")) とServer.MapPathでファイルパスを囲んでみてください。 | ||||
|
投稿日時: 2005-07-22 10:12
渋木 様 でっち6号 様
お返事ありがとうゴザイマス。 で、で、できました〜☆^v(*^∇')乂('∇^*)v^☆ Server.MapPathを使用して成功しました! ありがとうございました。 Wscriptについてもまだきちんと理解しないまま 使っていましたので、今後勉強していきたいと思います。 お二方本当にありがとうございました! |
1