2011-01-25 59 views
1

我有以下代碼,轉換XML響應文件

我送數據的陣列以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驅動器上的某個位置。我怎樣才能改變我的代碼來做到這一點?

謝謝你的時間!

+0

不是每個XML可以被轉換成CSV – Pratik 2011-01-25 11:37:26

+0

Umm..Which Web服務..你的問題是沒有意義的,你指的是一些其他的問題,那麼請添加到它的鏈接... – 2011-01-25 11:37:47

回答

0
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(); 
0

你也可以使用FileHelpers做這個東西。 您必須創建一個名爲MyClass與匹配您的.csv格式(每列=一個屬性) 你建立這樣的類對象的列表,並轉換爲使用到csv這樣FileHelper該屬性類:

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

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

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