以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- 新手请教!XML信息如何用HTTP传输 (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=18775) |
-- 作者:yyn911 -- 发布时间:5/24/2005 3:05:00 PM -- 新手请教!XML信息如何用HTTP传输 我想用HTTP传输XML信息(XML信息不从文档读,自己编写的),接收端可以对其解析,可以添加,修改== ![]() |
-- 作者:reelcol -- 发布时间:5/24/2005 4:31:00 PM -- 我也想知道,困扰了好几天了 想交流 qq: 41633361 (注明:xml) |
-- 作者:simonezhlx -- 发布时间:5/26/2005 2:53:00 PM -- 帮你up |
-- 作者:hacken -- 发布时间:6/9/2005 9:06:00 AM -- me too |
-- 作者:binaryluo -- 发布时间:6/9/2005 11:29:00 AM -- 如果你指的是想从网站上读取一个XML文件的话,如果用java,那可以先建立一个URL对象,然后通过该对象的openConnection()方法建立一个URLConnect对象。。。然后可以创建一个输入流(InputStream),这个流作为XML DOM或SAX的输入就可以了,跟解析本地XML是一样的。 |
-- 作者:CharlesXavier -- 发布时间:6/17/2005 4:01:00 PM -- 路过。QQ:276733345 |
-- 作者:lazing -- 发布时间:7/2/2005 10:34:00 AM -- 这两天也在做这方面的学习,找到一篇文章,调试了可以用 也许对你有用:可以实现XML的远程读取
http://blog.csdn.net/vwarship/archive/2004/07/02/xmlhttp.aspx [转贴]用XMLHTTP协议传输XML数据
首先,准备一个xml文件(resume.xml)放在服务器端; <?xml version="1.0" encoding="GB2312"?> <!-- 注意如果需要传输汉字这里必须规定是gb2312 --> <简历> <个人简历> <名字>王军建</名字> <性别>男</性别> <年龄>23</年龄> </个人简历> <个人简历> <名字>谷穗</名字> <性别>女</性别> <年龄>22</年龄> </个人简历> </简历>
然后,开始写一个asp文件(resume_post.asp)放在服务器端,用来发送xml格式的数据; <%@ language="javascript" %> <% //在服务器端创建Document对象 //这里用的ProgID是通用的,即服务器端安装的是3.0版本,程序就会用3.0版本来解析; //服务器端安装的是4.0版本,程序就会用4.0版本来解析。如果你想就依赖于版本的, //那么像3.0用Msxml2.DOMDocument.3.0;4.0用Msxml2.DOMDocument.4.0 var xmldom=Server.CreateObject("Microsoft.XMLDOM");
//注意:服务器端一定要用 Server.MapPath() 来确定路径。 xmldom.load( Server.MapPath("resume.xml") ); Response.ContentType = "text/xml"; //注意:这里一定是”GB2312”,否则客户端就会是乱码。 Response.charset = "GB2312"; //将DOM对象保存到Response对象 xmldom.save(Response); %>
注意:将resume.xml和resume_post.asp两个文件放在服务器端的同一个目录下,如果要在本地调试,要将两个文件放入同一虚目录下。
最后,在客户端用VC建立一个接收程序。这里建立了一个控制台应用程序。 #include "msxml2.h" #import "msxml4.dll" using namespace MSXML2;
#include <iostream> using namespace std;
void GetXmlData();
void main() { //初始化COM环境 CoInitialize(NULL);
GetXmlData();
//结束COM环境 CoUninitialize(); }
void GetXmlData() { IXMLHTTPRequestPtr pIXMLHTTPRequest = NULL; IXMLDOMDocumentPtr pIXMLDOMDocument = NULL;
HRESULT hr;
try { //将IXMLHTTPRequestPtr对象实例化 hr = pIXMLHTTPRequest.CreateInstance(TEXT("Microsoft.XMLHTTP")); SUCCEEDED(hr) ? 0 : throw hr;
//初始化一个MSXML2.XMLHTTP协议的请求, //需要为请求指定方法、URL、验证信息等。 //第一个参数用"GET",代表向服务器端请求数据。 //第二个参数用来指定服务器具体的文件 //第三个参数代表是否异步传输,false代表同步传输;true代表异步传输。 //第四和第五个参数是用来验证用户名和密码的,一般不用。 //注意这里的地址要变成你自己存放该文件的地址 LPCTSTR pUrl = TEXT("http://10.67.47.141:9999/xml/experience/resume_post.asp";); hr = pIXMLHTTPRequest->open(TEXT("GET"), pUrl, false); SUCCEEDED(hr) ? 0 : throw hr;
//发送一个请求到服务器并且接收一个response对象 hr = pIXMLHTTPRequest->send(); SUCCEEDED(hr) ? 0 : throw hr;
//用从服务器端接收的Document对象将IXMLDOMDocumentPtr对象实例化 pIXMLDOMDocument = pIXMLHTTPRequest->responseXML;
//将Document对象中所有数据的XML描述 cout<<"GetXmlData:"<<endl; cout<<(LPCSTR)(pIXMLDOMDocument->xml)<<endl; } catch(...) { cout<<"GetXmlData Exception"<<endl; } } |
-- 作者:java_liubin -- 发布时间:7/31/2005 3:28:00 PM -- 通过HTTP传诵的数据是二进制流数据,你直接把XML数据通过HTTP传送过去不就完了吗,真是的,跟传其他的文件没任何区别 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
280.762ms |