アプリ版:「スタンプのみでお礼する」機能のリリースについて

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
'==================================================

A 回答 (3件)

すみません、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のループバックインターフェイスが優先して
使われてしまっている気がします。
    • good
    • 0
この回答へのお礼

Wernerさん

わざわざ確認していただきありがとうございます。
やはり\\localhostではNGになりますか。
引き続き調査します。ありがとうございました。

お礼日時:2009/01/30 18:14

> \\localhost\~\test.xml


ちょっと
file://localhost/~/test.xml
で試してみてもらえますか?
    • good
    • 0
この回答へのお礼

Wernerさん

回答ありがとうございます。
> file://localhost/~/test.xml
上記で試してみましたが現象は変わらずでした。

分かったことですが、\\localhostは、DOMだとなぜか、Cドライブ直下を指しているようです。仕様なのかな…

お礼日時:2009/01/26 09:52

単にhostsにlocalhostが設定されてないだけなのでは?


あと、相対パスでやった方が楽だと思うよ。
    • good
    • 0
この回答へのお礼

>SAYKAさん

回答ありがとうございます。

hostsに127.0.0.1でlocalhostは設定されています。\\localhostで共有フォルダは参照することができます。説明不足で申し訳ありません。

>相対パスでやった方が楽だと思うよ
確かにです。ただ、なぜ\\localhostだとDOMが失敗するか知りたいです。

お礼日時:2009/01/22 22:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!