这问题我不知道该属于哪一类问题,我想实现的是:
比如,在ie中输入:
1http://127.0.0.1:4555 q =hello&format =xml;
IE回返回给我一个执行结果,格式是xml格式的文件,并且在ie中中把这个文件显示出来了
我现在想做的是:
   我想在程序中发这个命令,并且得到返回结果xml文件,顺便问一下如何解析xml文件
不知道这问题该查哪方面的资料,哪位高手知道,告诉一下方法,或者指明相关的参考资料,非常感激

解决方案 »

  1.   

    1. WinINet系列函数下载xml
      InternetConnect=>HttpOpenRequest=>HttpSendRequest=>HttpQueryInfo=>InternetReadFile
      当然也有其他组合
    2. 用IXMLDOMDocument,IXMLDOMElement,IXMLDOMNode接口解析XML
      pDomDoc->loadXML()=>pDomDoc->get_documentElement(&pElm)=>pElm->QueryInterface(&pRoot)=>pRoot->selectXXX(patternString)
    大致应该是这样。所有的资料都可以在MSDN上找到
      

  2.   

    楼上的,能具体点吗?或者能给个示例代码最好了,
    其实我的问题应该是发送http请求的
      

  3.   

    楼主需要了解一下HTTP协议,简单了解即可
    然后需要学习socket编程
    用socket来模拟IE发出的数据
    (注:IE发出的数据是按照HTTP协议来发送的,同样收到的数据也是HTTP协议规格)
      

  4.   

    WinINet函数组主要也只是支持了HTTP(s)和FTP,可以看成是比较麻烦一点文件操作。MSXML组件库更简单,只要会写支持COM的程序就很容易弄明白。下面是一个通过HTTP协议读取文件时所需要的WinINet函数调用流程,函数的类型可以到MSDN上差到。此外还必须处理一些错误或特殊情况,如Redirect等
    ...
    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
    ...