vc如何运用Http协议进行XML数据包的传输的问题,很急!望大虾们帮忙! 我是服务器,客户端在IE上输入服务器存放XML文件的地址。服务器获得地址后作出回应将XML文件发给客户端,数据显示在客户端的IE上!我的想法...请问怎么写呀?请给我一个能运行的代码!谢谢了!我是初学者,希望有点注释...如果有现成的程序最好!请发到[email protected]这个邮箱!我先在此谢过了... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实就是用一个socket来实现http协议了,发送GET /filename.xml HTTP/1.1\r\nHost:www.youhost.com\r\n\r\n这样一个字符串就可以了。 xml is just text, you can use the normal method to send text 没任何区别,只需把XML文件保存在webserver的相关目录下,浏览器直接读取这个文件就行了 其实你要写的就是一个web应用程序可以用asp.net类似的语言来写,xml ,一种描述方法罢了. 用什么实现?VC还是.NET上的其他方式?.NET上实现这个功能很简单。用VC的话,就得用Socket实现Http服务器端了。网上搜一把,很多例子的。 直接使用COM组件,有两种选择方案,一个是用IXmlHttp,另一个是直接用IXMLDOMDocument。以IXMLDOMDocument为例:IXMLDOMDocument* doc;CoCreateInstance(..., &doc);doc->put_async(VARIANT_FALSE);VARIANT_BOOL bSucc;doc->Load(CComBSTR("http://www.xxx.com/abc.xml"), &bSucc);// 现在xml文档已经下载并且解析好了,可以直接访问DOM 希望这段代码可以对你有帮助#include <afxinet.h> //加入CIneternetSession的引用CMarkup xmlFilmParse; CString strTmp("http://192.168.1.9:90/load/new.xml") ; CInternetSession mySession(NULL,0); CHttpFile* myHttpFile=NULL; //m_SiteInfo="连接到站点"+m_SiteName+"\r\n"; UpdateData(false); CString strInfo ; CString myData; myHttpFile=(CHttpFile*)mySession.OpenURL(strTmp); while(myHttpFile->ReadString(myData)) { strInfo += myData; } myHttpFile->Close ; mySession.Close ; CString strPathTmp("E:\test.xml") ; HANDLE hFile = CreateFile(strPathTmp, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS|OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); CFile myFile(hFile); myFile.Write(strInfo,strlen(strInfo)); DWORD dw = GetLastError() ; CloseHandle(hFile) ; if (!xmlFilmParse.Load(strPathTmp)) { return ; } 获取IP地址和默认网关的问题 VC 定时器问题 帮忙看看这个?(问题最下面红色部分) VC里面怎么制作出树型列表,就是里面的数据可以纠缩与展开. vc++程序设计怎么用ADO连接ACCESS数据库 在view类中获取mainframe类指针的问题 请问怎么用树形控件 斑竹帮帮忙~~急等 将COM+应用配置为库应用程序,那么对象池还起作用吗? 怎样得到活动窗口(另一进程)的子窗口的句柄? 100分求救!如何改变edit控件中部分文字的字体和颜色? 绘图效率的问题2!
GET /filename.xml HTTP/1.1\r\n
Host:www.youhost.com\r\n\r\n
这样一个字符串就可以了。
IXMLDOMDocument* doc;
CoCreateInstance(..., &doc);
doc->put_async(VARIANT_FALSE);
VARIANT_BOOL bSucc;
doc->Load(CComBSTR("http://www.xxx.com/abc.xml"), &bSucc);
// 现在xml文档已经下载并且解析好了,可以直接访问DOM
CString strTmp("http://192.168.1.9:90/load/new.xml") ;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
//m_SiteInfo="连接到站点"+m_SiteName+"\r\n";
UpdateData(false); CString strInfo ; CString myData;
myHttpFile=(CHttpFile*)mySession.OpenURL(strTmp);
while(myHttpFile->ReadString(myData))
{
strInfo += myData;
}
myHttpFile->Close ;
mySession.Close ; CString strPathTmp("E:\test.xml") ; HANDLE hFile = CreateFile(strPathTmp,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS|OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL); CFile myFile(hFile);
myFile.Write(strInfo,strlen(strInfo));
DWORD dw = GetLastError() ; CloseHandle(hFile) ; if (!xmlFilmParse.Load(strPathTmp))
{
return ;
}