获取报告 Stream转string,利用字符串分割转换成DataTable
- protected void Button1_Click(object sender, EventArgs e)
- {
- MemoryStream stream = new MemoryStream();
- StreamReader reader = new StreamReader(stream);
- GetReportRequest request = new GetReportRequest();
- request.ReportId = "24537536063";
- request.Merchant = sellerId;
- request.MWSAuthToken = mwsAuthToken;
- request.Report = stream;
- ltMsg.Text = InvokeGetReport(request);
- string text = reader.ReadToEnd();
- stream.Dispose();
- stream.Close();
- reader.Dispose();
- reader.Close();
- DataTable dt = ConvertReport2DT(text);
- GridView1.DataSource = dt;
- GridView1.DataBind();
- //Response.Write(text);
- }
- public static string InvokeGetReport(GetReportRequest request)
- {
- StringBuilder builder = new StringBuilder();
- try
- {
- MarketplaceWebService.MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
- config.ServiceURL = serviceURL;
- MarketplaceWebService.MarketplaceWebService service = new MarketplaceWebServiceClient
- (accessKey, secretKey, appName, appVersion, config);
- GetReportResponse response = service.GetReport(request);
- builder.AppendFormat("Service Response");
- builder.AppendFormat("=============================================================================");
- builder.AppendFormat(" GetReportResponse");
- if (response.IsSetGetReportResult())
- {
- builder.AppendFormat(" GetReportResult");
- GetReportResult getReportResult = response.GetReportResult;
- if (getReportResult.IsSetContentMD5())
- {
- builder.AppendFormat(" ContentMD5");
- builder.AppendFormat(" {0}", getReportResult.ContentMD5);
- }
- }
- if (response.IsSetResponseMetadata())
- {
- builder.AppendFormat(" ResponseMetadata");
- ResponseMetadata responseMetadata = response.ResponseMetadata;
- if (responseMetadata.IsSetRequestId())
- {
- builder.AppendFormat(" RequestId");
- builder.AppendFormat(" {0}", responseMetadata.RequestId);
- }
- }
- builder.AppendFormat(" ResponseHeaderMetadata");
- builder.AppendFormat(" RequestId");
- builder.AppendFormat(" " + response.ResponseHeaderMetadata.RequestId);
- builder.AppendFormat(" ResponseContext");
- builder.AppendFormat(" " + response.ResponseHeaderMetadata.ResponseContext);
- builder.AppendFormat(" Timestamp");
- builder.AppendFormat(" " + response.ResponseHeaderMetadata.Timestamp);
- }
- catch (MarketplaceWebServiceException ex)
- {
- builder.AppendFormat("Caught Exception: " + ex.Message);
- builder.AppendFormat("Response Status Code: " + ex.StatusCode);
- builder.AppendFormat("Error Code: " + ex.ErrorCode);
- builder.AppendFormat("Error Type: " + ex.ErrorType);
- builder.AppendFormat("Request ID: " + ex.RequestId);
- builder.AppendFormat("XML: " + ex.XML);
- builder.AppendFormat("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata);
- }
- return builder.ToString();
- }
- #region 报告字符串转换成DataTable
- /// <summary>
- /// 报告字符串转换成DataTable
- /// </summary>
- /// <param name="reportMsg">报告字符串</param>
- /// <returns></returns>
- public static DataTable ConvertReport2DT(string reportMsg)
- {
- DataTable dt = new DataTable();
- try
- {
- //\t \r\n
- if (reportMsg.Contains("\r\n"))
- {
- string[] rows = reportMsg.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
- //第一行表头
- if (rows[0].Contains("\t")) //制表符
- {
- string[] columns = rows[0].Split('\t');
- for (int i = 0; i < columns.Length; i++)
- {
- if (!dt.Columns.Contains(columns[i]))
- {
- dt.Columns.Add(columns[i]);
- }
- }
- }
- //第二行开始数据
- for (int i = 1; i < rows.Length; i++)
- {
- string[] datas = rows[i].Split('\t');
- DataRow dr = dt.NewRow();
- for (int j = 0; j < datas.Length; j++)
- {
- dr[j] = datas[j];
- }
- dt.Rows.Add(dr);
- dr = null;
- }
- }
- }
- catch { }
- return dt;
- }
- #endregion
获取报告 Stream转string,利用字符串分割转换成DataTable的更多相关文章
- Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表
前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...
- JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)
一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...
- 字符串集合或字符串数组转换成json数组
字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...
- Java中如何将字符串数组转换成字符串
如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...
- 获取listboxitem在ListBox中的index并转换成abcd
原文 获取listboxitem在ListBox中的index并转换成abcd 截图如下: 1.实现Converter 获取到listbox,并得到listitem在listbox中的index p ...
- //C语言:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回。
//函数fun:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回. #include <stdio.h> #pragma warning (disable:4996) ...
- javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;
var str='get-element-by-id'; function strToupper(str) { //利用split将字符串分割成数组var arr= str.split('-'); f ...
- @RequestBody配合@JsonFormat注解实现字符串自动转换成Date
2018年08月28日 16:41:15 混合动力火锅 阅读数:440 在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则 ...
- 字符串数字转换成对应的Double数值
一,介绍 前面实现了字符串转换成整形数值.参考这里: 它不支持小数,不支持符号(正.负号) 现在实现一个更复杂一点字符串转换成数值的程序. 它支持“浮点字符串”转换成对应的浮点数值,如: " ...
随机推荐
- 第2阶段——编写uboot之硬件初始化和制作链接脚本lds(1)
目标: 1.关看门狗 2.设置时钟 3.初始化SDRAM (初始化寄存器以及清除bss段) 4.重定位 (将nand/nor中代码COPY到链接地址上,需要初始化nandflash,读flash) 5 ...
- 原生的AJAX
var XHR=null; if (window.XMLHttpRequest) { // 非IE内核 XHR = new XMLHttpRequest(); } else if (window.Ac ...
- 介绍call和apply
function add(a, b) { alert(a + b); } function sub(a, b) { alert(a - b); } add.call(sub, 1,3); //4 传 ...
- JAVA基础第四组(5道题)
16.[程序16] 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. package com. ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.24
·本次会议为第三次Scrum Meeting会议~ ·本次会议项目经理召开时间为15:00,在教学楼教室召开,召开时长约30分钟,探讨了昨日任务的进展.遇到的困难以及后续所要开展的工作. 1.站立式会 ...
- 201521123024《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 注意conve ...
- 201521123005《java程序设计》第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ·继承(是什么,意义) -父类(被继承的类) -子类(继承父类) -多态(解决重复代码的问题 ...
- evak购物车--团队博客
1. 团队名称.团队成员介绍(需要有照片) 团队名称:evak 团队成员介绍:陈凯欣,计算机工程学院网络工程1512,学号为201521123034:邱晓娴,计算机工程学院网络工程1512,学号为20 ...
- 201521123074 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 参考:实验任务书-题目1 1.1 比较ping www.baidu.co ...
- 201521123116 《java程序设计》第十三周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...