如果必須從用戶/ PW保護的URL加載和分析XML資源,則不能只使用MSXML DOM.Load()。沒有地方可以指定憑證。MSXML 6,User/PW Auth,ResolveExternals
但是,如果您使用XMLHTTPRequest獲取資源並將其解析爲DOM(通過其.responseXML屬性),則無處可指定.resolveExternals屬性的值。
這或多或少的作品出來的時候,使用MSXML 3,4,(或者甚至5),在此默認爲真,但是在MSXML 6個默認爲false:
在MSXML 3.0,MSXML 4.0和MSXML 5.0中默認resolveExternals 值爲True。在MSXML 6.0中,默認設置爲False。
如果此屬性設置爲False,則不會解析外部包含並導入 。
有沒有解決方法,我沒有看到?通常我需要解決外部問題,特別是在處理XSD或WSDL時。
或者我是在自欺欺人,或許.resolveExternals在使用XMLHTTPRequest(僅限DOM.Load()調用)時從不應用?
你稱之爲「MSXML XMLHTTP ActiveX對象」的東西和XMLHTTPRequest是一樣的,我認爲你得到的ProgId與它的類名混淆。據我所知,在實際做一個.send之前,你不能在它的.responseXML上設置一個屬性,並且我認爲(A)太晚了,(B)如果它在.send之後工作,它可能會再次未能使用憑證。 – Bob77
嗨鮑勃,我已經編輯了一個工作示例的答案。讓我知道這是否適合你。 –
是的,我意識到Trident後來自己添加了(IE7?)。對不起,我對此並不清楚。它似乎沒有任何影響,但我會更徹底地檢查。如果你的事件處理程序正在工作,其餘的應該也是。謝謝。 – Bob77