人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASP VBScript にて、URLからxmlを読み込むと失敗します。
原因が分かる方いましたらよろしくお願いします。


例;)
こちらだとうまくいく
xmlurl = Server.MapPath("/new.xml")
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = false
rc = objXML.load(xmlurl)
REsponse.Write(rc)
Response.End

こちらだと失敗(もちろんhttp://localhost/new.xmlはアクセスできる)
xmlurl = "http://localhost/new.xml"
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = false
rc = objXML.load(xmlurl)
REsponse.Write(rc)
Response.End

●質問者: yamazakiis
●カテゴリ:コンピュータ インターネット
✍キーワード:ASP Microsoft RC Response SET
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● icchan0000
●35ポイント

objXML.loadメソッドは、ローカルディスク内にあるxmlを読み出すメソッドです。

たとえlocalhostであってもhttp経由だと「ローカルディスク内」とはみなされずエラーになっているのではないでしょうか。

特に必要がなければ、うまくいくほうの記述でやっておけば良いのではないですか?

どうしてもhttp経由でアクセスしたい場合は、

http://okwave.jp/kotaeru.php3?q=1821259

あたりがご参考になるかと思います。


2 ● llusall
●35ポイント

下記のようにステップを追加したところ、

要求されたリソースのデータは使用できません。

とのエラー内容でした。

サーバーサイドでは、

Server.CreateObject("Microsoft.XMLDOM")

だとURL参照できない見たいですね。

rc = objXML.load(xmlurl)

If rc = False Then

    Set objErr = objXML.parseError

    Response.Write("■エラー内容:" & objErr.reason)

End If

>回答者1

>objXML.loadメソッドは、ローカルディスク内にあるxmlを読み出すメソッドです。

とのことですが、クライアントサイドからなら、URL参照で問題なく使用できます。

(私は実際使ってますw)




代替案をご紹介します


サーバサイドでXMLをDOMするならば、

「ServerXMLHTTP」 をお勧めします。

他のサイトのコンテンツを ASP 内で取得する

5.MSXML2 を使用 ←ここを参照してください。

http://lightly.plala.jp/memo/win/asp/wget.html


※なお、「MSXML(XMLHTTP)」 は、クライアント アプリケーション用に設計されているので推奨されていません。

http://support.microsoft.com/kb/290761/ja

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ