博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于访问链接返回XML的获取数据
阅读量:5967 次
发布时间:2019-06-19

本文共 3441 字,大约阅读时间需要 11 分钟。

1. 返回DataSet格式;

///         /// 向某个url提交数据并读取该地址返回的xml,并将xml转换成dataset,并返回dataset中某个表        ///         /// 提交的低至        /// 参数        /// 表名        /// 编码格式        /// 
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 = 120000; 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, 0, 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 > 0) { // 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 == "100")                    {                       //此处可以定义一个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         ///          ///          /// 
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 = 0; string xmlString = sr.ReadToEnd(); sr.Close(); stream.Close(); return xmlString; }

 

转载于:https://www.cnblogs.com/sauerkraut/p/5711019.html

你可能感兴趣的文章
使用C#客户端访问FTP服务的一个解决方案
查看>>
对软件测试团队“核心价值”的思考
查看>>
pthread
查看>>
深入理解html5系列-文本标签
查看>>
mysql基础知识点
查看>>
Microsoft.System.Center.Operations.Manager.2007 中文版完整光盘下载地址
查看>>
Python快速教程
查看>>
我的友情链接
查看>>
ssh免密码登录
查看>>
Linux下Django环境安装
查看>>
如何在指定的内容中找出指定字符串的个数
查看>>
我的友情链接
查看>>
浅谈如何用We7站群平台打造垂直性政务网站
查看>>
我的友情链接
查看>>
Traversing Mapping Filtering Folding Reducing
查看>>
Go bytes包
查看>>
Spring MVC请求处理流程分析
查看>>
ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
查看>>
生产环境MySQL 5.5.x单机多实例配置实践
查看>>
Web应用工作原理、动态网页技术
查看>>