您的位置:首页 > 编程语言 > ASP

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

2015-08-04 16:51 756 查看
注:

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

请按以下方式处理:

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



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

1) 添加MSXML2的应用






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

string FileName = ""; //Setting the xml address
XmlDocument 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 object
XMLHTTPClass 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.










阅读原文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: