asp.net 发出xml请求和响应xml

来源:互联网 发布:小京东app源码 编辑:程序博客网 时间:2024/06/01 21:41

注:

如果VS2010以上版本出现,"错误92无法嵌入互操作类型“MSXML2.XMLHTTPClass”。请改用适用的接口。",

请按以下方式处理:

选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False。



======================================================================================================

1) 添加MSXML2的应用

 



2) 使用XMLHTTPClass 请求数据到一个URL地址。

string FileName = ""; //Setting the xml addressXmlDocument doc = new XmlDocument(); //Create Xml Document file object.try{    doc.Load(FileName);}catch (Exception ex){    //throw new System.Exception("Can not load xml file.");}//create xml http post objectXMLHTTPClass xmlHttp = new MSXML2.XMLHTTPClass();string backxmlstring = string.Empty;string strURL = ""; //Setting the post url.try{    //open post url    xmlHttp.open("post", strURL, false, "", "");    //send xml string to url    xmlHttp.send(doc.InnerXml);    //Get Back XML    backxmlstring = xmlHttp.responseText.ToString();}catch{    backxmlstring = "Can not open the target Url";}


3) 响应此xml请求。

//Read Xml inputed.Stream st = Request.InputStream;StreamReader sr = new StreamReader(st);string SRstring = sr.ReadToEnd();XmlDocument doc = new XmlDocument();doc.LoadXml(SRstring);sr.Close();string nodeString = doc.SelectSingleNode("//test").InnerText; //get the text of node.

4) 返回一个xml格式的给请求者.

Response.Clear();System.IO.MemoryStream ms = new MemoryStream();XmlTextWriter xw = new XmlTextWriter(ms, Encoding.UTF8);xw.WriteStartDocument();xw.WriteStartElement("test");xw.WriteStartAttribute("attr", "1");xw.WriteEndAttribute();xw.WriteString("test111");xw.WriteEndElement();xw.WriteEndDocument();xw.Flush();ms.Seek(0, SeekOrigin.Begin);StreamReader sr = new StreamReader(ms);string backString = sr.ReadToEnd();//get the back string.xw.Close();ms.Close();Response.Write(backString); // return the back string.



阅读原文

0 0
原创粉丝点击