asp.net 响应xml格式数据的请求

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.

 

 

posted @ 2010-12-03 14:09  jmz  阅读(1482)  评论(0编辑  收藏  举报
Copyright by © Pippon