簡體   English   中英

將XML響應轉換為.CSV文件

[英]Convert XML response to .CSV file

我有以下代碼,

我正在將數據數組發送到Web服務,該Web服務的響應當前以Web形式顯示,如下所示。

private void Form1_Load(object sender, EventArgs e)
    {
        int ASent;
        int CSent;
        webservice.Results returned = convert();
        txtResult.Text = System.Convert.ToString(returned.status);
        txtMoreRes1.Text = returned.errorDetails[0].errorDetails;
        txtMoreRes2.Text = returned.errorDetails[1].errorDetails;
        txtMoreRes3.Text = returned.errorDetails[2].errorDetails;
        txtMoreRes4.Text = returned.errorDetails[3].errorDetails;
        date.Text = System.Convert.ToString(DateTime.Today);
        time.Text = System.Convert.ToString(DateTime.Now.TimeOfDay);
                }

我現在需要的是將“返回”的結果從xml響應轉換為.csv文件。 然后,將代碼將.csv保存到C驅動器上的某個位置。 如何更改我的代碼以執行此操作?

謝謝你的時間!

 StringBuilder SbCSV = new StringBuilder();
            int ActualSent;
            int CommitmentSent;
            webservice.summaryResults returned = convert(out ActualSent, out CommitmentSent);
            //txtResult.Text = System.Convert.ToString(returned.status);
            SbCSV.Append(System.Convert.ToString(returned.status));
            //txtMoreRes1.Text = returned.errorDetails[0].errorDetails;
            SbCSV.Append("," + returned.errorDetails[0].errorDetails);
            //txtMoreRes2.Text = returned.errorDetails[1].errorDetails;
            SbCSV.Append("," + returned.errorDetails[1].errorDetails);
            // Similary ...
            txtMoreRes3.Text = returned.errorDetails[2].errorDetails;
            txtMoreRes4.Text = returned.errorDetails[3].errorDetails;
            actualSum.Text = System.Convert.ToString(returned.actualSum);
            commitmentSum.Text = System.Convert.ToString(returned.commitmentSum);
            date.Text = System.Convert.ToString(DateTime.Today);
            time.Text = System.Convert.ToString(DateTime.Now.TimeOfDay);
            actualsumsent.Text = ActualSent.ToString();
            commitmentsumsent.Text = CommitmentSent.ToString();
            errorposition1.Text = System.Convert.ToString(returned.errorDetails[0].errorPosition);
            errorposition2.Text = System.Convert.ToString(returned.errorDetails[1].errorPosition);
            errorposition3.Text = System.Convert.ToString(returned.errorDetails[2].errorPosition);
            errorposition4.Text = System.Convert.ToString(returned.errorDetails[3].errorPosition);

            TextWriter Tw = new StreamWriter("Your_FilePath_Name.csv");
            Tw.Write(SbCSV.ToString());
            Tw.Close();
            Tw.Dispose();

您也可以使用FileHelpers來完成這些工作。 您必須創建一個名為MyClass的類,該類具有與.csv格式匹配的屬性(每列=一個屬性),您要構建此類對象的列表並使用FileHelper以這種方式轉換為csv:

FileHelperEngine engine = new FileHelperEngine(typeof(MyClass));

MyClass[] res = null; //Fill your array here from your code.

// To Write Use:
engine.WriteFile("FileOut.txt", res);

您也可以使用XML Transformation來完成此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM