别人写的那些接口访问的是HTTP请求,结果页面返回上就是一个XML文件格式的内容
其它什么都没有 他们是怎么做的 谁有例子
创建http 请求返回XML内容
- 提问者网友:我一贱你就笑
- 2021-05-04 16:37
- 五星知识达人网友:动情书生
- 2021-05-04 17:03
都没其他人回答啊!!!
我给你举个例子:
若通过xmlhttp请求http://xxx/xxx.jsp返回xml结果格式为
<?xml version="1.0" encoding="GBK" ?>
<info>
<user>xxx </user>
<result>1 </result>
</info>
则获取节点值代码如下:
using MSXML2; //引用com组件
protected void Page_Load(object sender, EventArgs e)
{
MSXML2.XMLHTTPClass xmlHttp = new XMLHTTPClass();
MSXML2.DOMDocument xmlDom= new DOMDocument();
try
{
xmlHttp .open("Post", "http://xxx/xxx.jsp", false, "", "");
xmlHttp .setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp .send("");
}
finally
{
if (xmlHttp .status / 100 == 2) //请求状态成功
{
xmlDom.loadXML(xmlHttp.responseText);
}
}
Response.Write(xmlDom.selectSingleNode("/info/user").text+ "<br>");
Response.Write(xmlDom.selectSingleNode("/info/result").text + "<br>");
}
- 1楼网友:未来江山和你
- 2021-05-04 19:07
- 2楼网友:风格不统一
- 2021-05-04 17:52
这里你把ASP页面或ASPX页面里面的html内容全都删掉,只要程序代码
然后使用Response把这些XML写回去就行了,给你个例子
constructer con = new constructer(requestmsg); // 这个构造我自己的一个对象,对你没用 byte[] bty = con.response(); // 这里你可以了解一下,函数体在下面 Response.BinaryWrite(bty);
public byte[] response()
{
MemoryStream memoryStream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(memoryStream);
byte[] msgBodybytes = Encoding.Unicode.GetBytes("<resp><msgid>" + cb.Msgid + "</msgid><cname>"+cname+"</cname><cext>"+cext+"</cext><des>"+des+"</des><cmsisdn>"+cmsisdn+"</cmsisdn><filesize>"+filesize.ToString()+"</filesize><url>"+url+"</url></resp>");
writer.Write(msgBodybytes);
return (memoryStream.GetBuffer()); // 关键代码就这些
}
- 3楼网友:由着我着迷
- 2021-05-04 17:24