【发布时间】:2011-08-29 18:11:52
【问题描述】:
这就是我正在使用的。我正在尝试获取一个 XML 文件,从属性中提取信息,将它们附加在一起,然后将其写入 CSV 文件。我对编程还是比较陌生,而另一位程序员今天不在办公室,所以我真的需要一些帮助。
我的第一个问题是关于 StringBuilder。我是否需要在我的 StringBuilder 末尾有一个 AppendLine,以便从 foreach 循环输出的每个字符串都在一个新行上?我需要在 foreach 循环中这样做吗?
我的第二个问题是关于将我的字符串实际写入 CSV 文件。它看起来像吗?
swOutputFile.WriteLine(strAppendedJobData)
我认为这也会进入 foreach 循环,但我不太确定。
感谢您的帮助,我希望我的问题措辞易于理解。
//Create a stream writer to write the data from returned XML job ticket to a new CSV
StreamWriter swOutputFile;
string strComma = ",";
swOutputFile = new StreamWriter(new FileStream("C:\\Dev\\AppendedJobData.csv", FileMode.Create, FileAccess.Write, FileShare.Read));
//Get nodes from returned XML ticket
XmlNodeList xmlJobs = xdResults.SelectNodes("/Updates/Jobs/Job");
//Pull out data from XML attributes
foreach (XmlElement xeJobUpdate in xmlJobs)
{
//Break down the job data
string strProjectID = xeJobUpdate.GetAttribute("SharpOwlProjectID");
string strJobNumber = xeJobUpdate.GetAttribute("JobNumber");
string strClientCode = xeJobUpdate.GetAttribute("SharpOwlClientCode");
string strClient = xeJobUpdate.GetAttribute("Client");
string strVCAOffice = xeJobUpdate.GetAttribute("VCAOffice");
string strLoadStatus = xeJobUpdate.GetAttribute("LoadStatus");
//Build the string to be added to the new CSV file
StringBuilder sbConcatJob = new StringBuilder();
sbConcatJob.Append(strProjectID).Append(strComma).Append(strJobNumber)
.Append(strComma).Append(strClientCode).Append(strComma).Append(strClient).Append(strComma)
.Append(strVCAOffice).Append(strComma).Append(strLoadStatus).Append(strComma);
string strAppendedJobData = sbConcatJob.ToString();
【问题讨论】:
-
您使用的是哪个版本的 .NET?还有,你有什么问题?
标签: c# string csv stringbuilder streamwriter