- 締切済み
DOMで\\localhost\~がloadできません
DOMについて質問させてください。 DOMで\\localhost\~\test.xmlをloadすると、「指定されたパスが見つかりません。」が表示されloadできません。ちなみに、ループバックアドレスの\\127.0.0.1だとうまくいきます。なぜか理由が分からないため質問させていただきました。\\localhostでloadするには何かwindowsの設定がいるのでしょうか? ・再現手順は以下の通りです。 (1)DOMでCドライブ配下にサブフォルダを作成し、そのサブフォルダ内に共有フォルダを作成します。 (2)作成した共有フォルダ内にxmlファイルを格納します。 (3)DOMで共有フォルダ内のxmlファイルをロードするとエラーになります。 以下、サンプルコードです。(MSXMLのバージョンはどのバージョンでも現象は同じ) '================================================== Set objDOM = CreateObject("MSXML2.DOMDocument.6.0") objDOM.async = false rtResult = objDOM.load("\\localhost\~\test.xml") msgbox "load:" & rtResult & " エラー番号:" & objDOM.parseError.errorCode & " MSG:" & objDOM.parseError.reason Set objDOM = Nothing '==================================================
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Werner
- ベストアンサー率53% (395/735)
すみません、No.2は関係なかったみたいです。 Vista+IE7環境で 共有フォルダにおいたxmlファイルを IEで開くことができるか確認してみました。 すると、 \\hostname\contents\index.xml →OK \\localhost\contents\index.xml →NG \\127.0.0.1\contents\index.xml →OK と言う結果になりました。 (提示のサンプルコードで試しても同様の結果でした。) 原因はちゃんと確認してませんが、 何となくIPv6のループバックインターフェイスが優先して 使われてしまっている気がします。
- Werner
- ベストアンサー率53% (395/735)
> \\localhost\~\test.xml ちょっと file://localhost/~/test.xml で試してみてもらえますか?
お礼
Wernerさん 回答ありがとうございます。 > file://localhost/~/test.xml 上記で試してみましたが現象は変わらずでした。 分かったことですが、\\localhostは、DOMだとなぜか、Cドライブ直下を指しているようです。仕様なのかな…
- SAYKA
- ベストアンサー率34% (944/2776)
単にhostsにlocalhostが設定されてないだけなのでは? あと、相対パスでやった方が楽だと思うよ。
お礼
>SAYKAさん 回答ありがとうございます。 hostsに127.0.0.1でlocalhostは設定されています。\\localhostで共有フォルダは参照することができます。説明不足で申し訳ありません。 >相対パスでやった方が楽だと思うよ 確かにです。ただ、なぜ\\localhostだとDOMが失敗するか知りたいです。
お礼
Wernerさん わざわざ確認していただきありがとうございます。 やはり\\localhostではNGになりますか。 引き続き調査します。ありがとうございました。