这问题我不知道该属于哪一类问题,我想实现的是:
比如,在ie中输入:
1http://127.0.0.1:4555 q =hello&format =xml;
IE回返回给我一个执行结果,格式是xml格式的文件,并且在ie中中把这个文件显示出来了
我现在想做的是:
我想在程序中发这个命令,并且得到返回结果xml文件,顺便问一下如何解析xml文件
不知道这问题该查哪方面的资料,哪位高手知道,告诉一下方法,或者指明相关的参考资料,非常感激
比如,在ie中输入:
1http://127.0.0.1:4555 q =hello&format =xml;
IE回返回给我一个执行结果,格式是xml格式的文件,并且在ie中中把这个文件显示出来了
我现在想做的是:
我想在程序中发这个命令,并且得到返回结果xml文件,顺便问一下如何解析xml文件
不知道这问题该查哪方面的资料,哪位高手知道,告诉一下方法,或者指明相关的参考资料,非常感激
解决方案 »
- VC/MFC如何使用WPF?
- 忽然发现我的VC2008没有定时器控件,需要额外装什么吗
- 关于刷新的及对外部程序窗口的操作的问题
- 求助,急问:我用ODBC打开的access 数据库容量越来越大,我想压缩数据库,怎么办啊?ODBC能压缩吗?怎么只见过Dao的压缩呢~!!
- FTP打开的文件,要到指定位置读写,怎么定位文件指针?
- 怎么才能得到查询到纪录的个数???数据库是ACCEss
- 怪了,listctrl最后加入的反而显示在第一行,如何解决?
- 如何让ProgressBar动态显示某项操作的当前状态?
- sql查询的问题
- 求购Windows 程序设计(第5版)(上、下册)
- 我做了一个类似google的ie工具栏,但安装后,不能自动显示在ie上,必须打勾
- 寻找XP中播放声音的API
InternetConnect=>HttpOpenRequest=>HttpSendRequest=>HttpQueryInfo=>InternetReadFile
当然也有其他组合
2. 用IXMLDOMDocument,IXMLDOMElement,IXMLDOMNode接口解析XML
pDomDoc->loadXML()=>pDomDoc->get_documentElement(&pElm)=>pElm->QueryInterface(&pRoot)=>pRoot->selectXXX(patternString)
大致应该是这样。所有的资料都可以在MSDN上找到
其实我的问题应该是发送http请求的
然后需要学习socket编程
用socket来模拟IE发出的数据
(注:IE发出的数据是按照HTTP协议来发送的,同样收到的数据也是HTTP协议规格)
...
InternetCanonicalizeUrl( szSource, szUrl, &dw, 0 )
...
InternetCrackUrl( szUrl, NORMAL_LENGTH, 0, &urlComponents )
...
hSession = InternetOpen( DEFAULT_AGENT, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )
...
hConnection = InternetConnect( hSession,
szHost,
urlComponents.nPort,
NULL,//szUserName[0]==0 ? NULL : szUserName,
NULL,//szPassword[0]==0 ? NULL : szPassword,
nScheme==INTERNET_SCHEME_HTTP?INTERNET_SERVICE_HTTP:INTERNET_SERVICE_FTP,
NULL,
NULL )
...
hRequest = HttpOpenRequest( hConnection,
HTTP_VERB_GET,
szPath,
DEFAULT_HTTP_VERSION,
szUrl,
(LPCTSTR*)AcceptTypes,
DEF_OPENREQ_FILE_FLAG,
NULL )
...
HttpSendRequest( hRequest, NULL, 0, NULL, 0 )
...
HttpQueryInfo( hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, &dwVal, &dwSize, NULL )
...
CheckResponseCode( dwVal ) // It is your responsibility
...
InternetReadFile( hRequest, lpBuffer, LONG_LENGTH, &dwSize )
...
// Close all handlers
...