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的更多相关文章

  1. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

  2. JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)

    一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...

  3. 字符串集合或字符串数组转换成json数组

    字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...

  4. Java中如何将字符串数组转换成字符串

    如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...

  5. 获取listboxitem在ListBox中的index并转换成abcd

    原文 获取listboxitem在ListBox中的index并转换成abcd 截图如下: 1.实现Converter  获取到listbox,并得到listitem在listbox中的index p ...

  6. //C语言:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回。

    //函数fun:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回. #include <stdio.h> #pragma warning (disable:4996) ...

  7. javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;

    var str='get-element-by-id'; function strToupper(str) { //利用split将字符串分割成数组var arr= str.split('-'); f ...

  8. @RequestBody配合@JsonFormat注解实现字符串自动转换成Date

    2018年08月28日 16:41:15 混合动力火锅 阅读数:440   在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则 ...

  9. 字符串数字转换成对应的Double数值

    一,介绍 前面实现了字符串转换成整形数值.参考这里: 它不支持小数,不支持符号(正.负号) 现在实现一个更复杂一点字符串转换成数值的程序. 它支持“浮点字符串”转换成对应的浮点数值,如: " ...

随机推荐

  1. this的用法 – JavaScript深入浅出(二)

    写在前面 上一篇中,我们对于JavaScript中原始值.复杂值以及内存空间进行了一个深入浅出的总结,这次我们来聊一聊JavaScript中this关键字的深入浅出的用法. 在 JavaScript ...

  2. HIVE和HBASE区别11

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  3. Alpha 版本测试和发布说明

    Alpha版本测试报告 一bug汇总 做题时答案是错的.(已修复) 每次生成的题目一样(已经修复) 计时没有显示即倒计时,难度不同的功能没有实现(打算修复) 没有导入试卷和错题功能(不打算修复) 二. ...

  4. 个人作业1——四则运算题目生成程序(java代码,基于控制台)

    一.题目描述: 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: ...

  5. 201521123082《Java程序设计》第2周学习总结

    201521123082<Java程序设计>第2周学习总结 标签(空格分隔): Java 1.本周学习总结 巩固了类型转换的相关细节 初步认识了类和对象,使用Java撰写程序几乎都在使用对 ...

  6. 团队作业8——第二次项目冲刺(Beta阶段) 5.19

    Day1--5.19 1.展开站立式会议(拍摄者:武健男): 会议内容:(1)新成员自我介绍,使大家能更快熟悉并一起合作. (2)由于我们之前的项目经理去了别的小组,所以我们投票选取新成员林乔桦作为我 ...

  7. 201521123075 《Java程序设计》第1周学习总结

    1. 本周学习总结 (1)Java不仅是程序语言,还是一种标准规范,代表着解决问题的方案.Java是一个面向对象的编程语言,熟悉后相对于c++更方便,其一大特色就是能够跨平台运行. (2)Java发展 ...

  8. 201521123030 《Java程序设计》 第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常 1.题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  9. apache: apache-tomcat-6.0.35完整下载

    Index of /dist/tomcat/tomcat-6/v6.0.35/bin Name Last modified Size Description Parent Directory - ex ...

  10. linux各类压缩解压命令大全

    01-.tar格式解包:[*******]$ tar xvf FileName.tar 打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩 ...