关于访问链接返回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错误.当初都不知道啥原因,前 ...
随机推荐
- Sharepoint client model 中出现Cannot invoke HTTP DAV request. There is a pending query 的解决办法
由于近期在某项目中使用sharepoint client 对象模型做项目 在sharepoint 2010环境下正常,但迁移到sharepoint 2013后报错,提示如下 Cannot invoke ...
- requirejs使用
实现模块化.按需加载. 一.配置参数. 1.baseUrl:以一个相对于baseUrl的地址来加载所有的代码. data-main,使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一 ...
- vert.x学习(七),使用表单获取用户提交的数据
在web开发中,用的最多的就是表单了,用户通过表单提交数据到系统后台,系统又可以通过表单传递的数据做业务分析.那么这章就学习在vert.x中怎么使用表单,获取表单的参数值. 编写一个表单模板代码res ...
- Mac mySql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的解决办法
我的环境:Mac 10.11.6 ,mysql 5.7.14 . mac mySql 报错ERROR 2002 (HY000): Can't connect to local MySQL serv ...
- angularjs 动态加载事件的另一种实现
/** 初始化酒店列表 */ function inintHotel(params,url,$http,$scope){ $http.jsonp(url).success(function(res, ...
- xmpp openfire smack 介绍和openfire安装及使用
前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用 ...
- 关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
如果要想深入学习.NET平台,那么标题中的这些关键字对你来说并不陌生,这些名词构成了.NET庞大的生态系统,为了宏观认识.NET平台,学些.NET架构体系,针对一些常用常用名词的理解是很有必要的,未必 ...
- border-radius详解
语法: border-radius : none | <length>{1,4} [/ <length>{1,4} ]? 取值范围: <length>: 由浮点数字 ...
- 【转载】LR提交JSON格式的请求
需求: 测试一个“修改用户铜板”的接口,这个接口接收JSON格式的请求,返回JSON格式的结果: 必须用PUT方式提交请求: 提交内容: {"method":"modi ...
- Java生成和操作Excel文件(转载)
Java生成和操作Excel文件 JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...