【发布时间】:2015-08-20 03:31:53
【问题描述】:
我有一个 VBA 程序,它使用 IE 自动化以经典方式查询网站: 常量 URL = "xxxx" Dim ieApp 作为 InternetExplorer 将 oHTMLDoc 调暗为 HTMLDocument
ieApp.Navigate URL
Do While ieApp.Busy: DoEvents: Loop
Do Until ieApp.ReadyState = READYSTATE_COMPLETE: DoEvents: Loop
Set oHTMLDoc = ieApp.Document
.....etc
由于某些原因,我必须使用 InternetExplorer 对象 - 我不能使用 MSXML2 库来查询站点。稍后在程序中,查询的结果是纯 XML - 使用 HTML 例程进行解析很痛苦。
所以我的问题很简单:如何将 HTMLDocument 转换为 MSXML2.DOMDocument ?
Dim oXMLDoc As MSXML2.DOMDocument
Set oXMLDoc = oHTMLDoc 'Fails
谢谢。
【问题讨论】:
-
如果查询返回纯 XML,那么您可以对那部分使用 MSXML...
-
谢谢蒂姆 - 我明白,但这是我的问题:我该怎么做?我需要使用 IE 和 oHTMLDoc 进行身份验证,如何切换到 MSXLM 进行进一步查询?使用 XMLHTTP 的打开/发送返回“未通过身份验证”。
-
我不清楚这里的实际工作流程。在通过 IE 的正常操作中,浏览器对作为纯 XML 发送的内容做了什么?
-
我正在访问 HP Agile Manager 服务器。登录的建议是将 REST_API 与 XMLHTTP 类型的请求一起使用 - 一旦您进行身份验证,您就会收到每个查询的纯 XML。不幸的是,我没有成功使用 res_api 进行身份验证(我知道,这是正确的方法...... ) 所以我使用 IE 登录,但是当回复是纯 XML 时我被卡住了。当然,我可以通过 HTML DOM……但这并不实际。所以我的问题。希望这可以澄清!
-
我认为弄清楚如何使用 MSXML 对 REST API 进行身份验证可能比继续使用 IE 更容易......
标签: xml vba internet-explorer