关于访问链接返回XML的获取数据
1. 返回DataSet格式;
/// <summary>
/// 向某个url提交数据并读取该地址返回的xml,并将xml转换成dataset,并返回dataset中某个表
/// </summary>
/// <param name="url">提交的低至</param>
/// <param name="param">参数</param>
/// <param name="tableName">表名</param>
/// <param name="encoding">编码格式</param>
/// <returns></returns>
public static DataSet PostData(string url, string param, String tableName, Encoding encoding)
{
#region post数据
DataSet ds = new DataSet(); DataTable dt = new DataTable();
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Timeout = ;
try
{
byte[] requestbytes = encoding.GetBytes(param);
req.Method = "post";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = requestbytes.Length;
System.IO.Stream requeststream = req.GetRequestStream();
requeststream.Write(requestbytes, , requestbytes.Length);
requeststream.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(res.GetResponseStream(), encoding);
String backstr = sr.ReadToEnd();
StringReader txtReader = new StringReader(backstr);
XmlTextReader xmlReader = new XmlTextReader(txtReader);
ds.ReadXml(xmlReader);
sr.Close();
res.Close();
sr.Dispose();
}
catch
{
return null;
}
//条件判断
//if (ds != null && ds.Tables.Count > 0 && ds.Tables[tableName] != null)
//{
// dt = ds.Tables[tableName].Copy();
//}
if (ds != null && ds.Tables.Count > )
{
// dt = ds.Tables[tableName].Copy();
return ds;
}
return ds;
#endregion
}
2. 返回字符串
string url = Config.PassportUserInfoUrl + "&userid=" + userid;//可以把链接放到配置文件中
string result = SlRequest.GetResponse(url, "");
XmlDocument doc = new XmlDocument();
doc.LoadXml(result);
XmlNode node = doc.SelectSingleNode("soufun_passport/common");//选择XML节点的值
if (node != null)
{
string resMsg = node.SelectSingleNode("return_result").InnerText;
if (resMsg == "")
{
//此处可以定义一个User实体类, 来接收关于User的Inforeturn user;
}
else
{
errorMessage = node.SelectSingleNode("error_reason").InnerText;
return null;
}
//此处讲判断某个XML节点下面有几个子节点
if (node.ChildNodes.Count > 3)
{
resMsg = "";
}
注: C#将XMLDocument转化为String函数
/// 将XmlDocument转化为string
/// </summary>
/// <param name="xmlDoc"></param>
/// <returns></returns>
public string ConvertXmlToString(XmlDocument xmlDoc)
{
MemoryStream stream = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(stream, null);
writer.Formatting = Formatting.Indented;
xmlDoc.Save(writer);
StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
stream.Position = ;
string xmlString = sr.ReadToEnd();
sr.Close();
stream.Close();
return xmlString;
}
关于访问链接返回XML的获取数据的更多相关文章
- python开发笔记-通过xml快捷获取数据
今天在做下python开发笔记之如何通过xml快捷获取数据,下面以调取nltk语料库为例: import nltk nltk.download() showing info https://raw.g ...
- Spring MVC 返回 xml json pdf 数据的配置方法
<!-- Spring MVC 返回 xml 数据的配置方法 --> <bean class="org.springframework.web.servlet.vi ...
- 在java项目中怎样利用Dom4j解析XML文件获取数据
在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...
- sql 返回xml类型的数据
1, 这中方式可以在Item节点上加一个Items节点作为所有item节点的父节点 SELECT Orders.OrderNumber , ( SELECT ProductID ...
- Linq:从XML获取数据
实体类 public class Customer { public string CustomerID { get; set; } public string CompanyName { get; ...
- mytest3.py-api接入平台获取数据
mytest3.py-api接入平台获取数据 import base64 import datetime import hashlib import urllib import urllib.pars ...
- 使用流的方式去进行post请求解决中文乱码问题返回xml格式
/** * 请求post * @Title: getHttpURLConnection * @Description: TODO(这里用一句话描述这个方法的作用) * @param: @param u ...
- Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误。
如题,最近以spring mvc作为后台框架,前端异步获取数据时(.html为后缀名的访问方式),报406 Not Acceptable错误.当初都不知道啥原因,前后台都没报错就是返回不了数据,于是查 ...
- Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误
转载,感谢这位博主,有自己的添加. 如题,最近以spring mvc作为后台框架,前端异步获取数据时(.html为后缀名的访问方式),报406 Not Acceptable错误.当初都不知道啥原因,前 ...
随机推荐
- 前端开发自学之JavaScript——显示当前时间
<html> <head> <title>JavaScript</title> <script language="javascript ...
- 79. Word Search
使用的别人的思路,用一个二维数组记录每一个位置是否用过,然后通过递归来判断每一个位置是否符合 public class Solution { public boolean exist(char[][] ...
- CSS之viewport 1
在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕. 这篇文章是关于桌面浏览器的,其唯一的目的就是为移动浏览器中 ...
- 数据库连接池原理 与实现(动脑学院Jack老师课后自己的练习有感)
第一步: 首先创建一个数据库连接池的接口: 数据库连接池接口有两个主要的方法,其中一个getConnection(); 通过数据库连接池返回给用户封装的数据库连接对象 createConnectio ...
- Win2008R2+java+tomcat安装
Win2008R2+java+tomcat安装 准备软件: jdk-7u25-windows-x64.exe apache-tomcat-7.0.42-windows-x64.zip 一.安装java ...
- 【尝新】微信小程序初体验
文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644089434 根据文档地址中下载微信开发工具后,按照文档指引可以创建一个快速体验的小d ...
- jNotify:操作结果信息提示条
我们在提交表单后,通过Ajax响应后台返回结果,并在前台显示返回信息,jNotify能非常优雅的显示操作结果信息.jNotify是一款基于jQuery的信息提示插件,它支持操作成功.操作失败和操作提醒 ...
- app慢的可能情况需要优化
网络请求超时的机制设置,发现如果设置3S太短,导致有一些服务不能成功请求到数据,每次都报超时.问题解决 1. 调大超时时间 2. 优化查询mysql http://blog.chinaunix.net ...
- yii框架的增删改查
一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...
- Docker相关文档
网上找到的一个入门级Docker学习笔记,写的不错,值得一看. 转自:http://www.open-open.com/lib/view/open1423703640748.html#articleH ...