原因が分かる方いましたらよろしくお願いします。
例;)
こちらだとうまくいく
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
objXML.loadメソッドは、ローカルディスク内にあるxmlを読み出すメソッドです。
たとえlocalhostであってもhttp経由だと「ローカルディスク内」とはみなされずエラーになっているのではないでしょうか。
特に必要がなければ、うまくいくほうの記述でやっておけば良いのではないですか?
どうしてもhttp経由でアクセスしたい場合は、
http://okwave.jp/kotaeru.php3?q=1821259
あたりがご参考になるかと思います。
下記のようにステップを追加したところ、
要求されたリソースのデータは使用できません。
とのエラー内容でした。
サーバーサイドでは、
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)」 は、クライアント アプリケーション用に設計されているので推奨されていません。
コメント(1件)
>>objXML.loadメソッドは、ローカルディスク内にあるxmlを読み出すメソッドです。
>とのことですが、クライアントサイドからなら、URL参照で問題なく使用できます。
>(私は実際使ってますw)
ありゃそうでしたか(^^;
シツレイいたしました。ご訂正ありがとうございます。