关于访问链接返回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错误.当初都不知道啥原因,前 ...
随机推荐
- 配置webdriver环境
安装环境pip install selenium,提示 Could not find a version that satisfies the requirement selenium (from v ...
- php token的生成
转载自:http://blog.snsgou.com/post-766.html --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的 ...
- 《Linux及安全》实践3.3
<Linux及安全>实践三 字符集总结与分析 [by lwr] 一.ISO.UCS/UTF.GB系列字符集分析 1.字符集&字符编码 字符集(Charset):是一个系统支持的所有 ...
- 解决界面有搜索栏时,点击TableView的空白界面,键盘不消失的问题
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(h ...
- placeholder文字颜色与是否显示兼容性
1.ie显示问题 <script type="text/javascript"> $(document).ready(function(){ var doc=docum ...
- Python开发程序:生产环境下实时统计网站访问日志信息
日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ...
- vim - Convert between hex and decimal
http://vim.wikia.com/wiki/VimTip448 ga g8
- Issue 4:分布式的基础性问题
最近打算聊一聊分布式的基本思想.定了个大致的技术路线. 分布式难点 分片和元数据管理 多副本策略 多副本一致性方案 并发和事务支持
- cocos2dx 入门
1.设置环境变量 JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17CLASSPATH=.;%JAVA_HOME%\lib;Path增加%JAVA_HOME%\bi ...
- c++ DLL->DEF->LIB
一.DLL->DEF https://support.microsoft.com/zh-cn/kb/177429 https://msdn.microsoft.com/zh-cn/library ...