我在 Ranorex 5.4.2 中使用 C# 代码创建 CSV 文件,从 XML 文件中收集数据,然后将其写入 CSV 文件。我已经设法让这个过程正常工作,但我遇到了一个问题,即在收集的数据下方创建了 12 个空白行。
我有一个名为 CreateCSVFile 的文件,它创建 CSV 文件并添加标题,代码如下所示:
writer.WriteLine("PolicyNumber,Surname,Postcode,HouseNumber,StreetName,CityName,CountyName,VehicleRegistrationPlate,VehicleMake,VehicleModel,VehicleType,DateRegistered,ABICode");
writer.WriteLine("");
writer.Flush();
writer.Close();
下一个要运行的是 MineDataFromOutputXML。我正在自动化的程序提供保险报价,并创建一个包含客户详细信息的输出 xml 文件。我已经设置了一个挖掘过程,它在顶部声明了一个变量,显示为:
string _PolicyHolderSurname = "";
[TestVariable("3E92E370-F960-477B-853A-0F61BEA62B7B")]
public string PolicyHolderSurname
{
get { return _PolicyHolderSurname; }
set { _PolicyHolderSurname = value; }
}
然后还有另一段代码从 XML 文件中收集信息:
var QuotePolicyHolderSurname = (XmlElement)xmlDoc.SelectSingleNode("//cipSurname");
string QuotePolicyHolderSurnameAsString = QuotePolicyHolderSurname.InnerText.ToString();
PolicyHolderSurname = QuotePolicyHolderSurnameAsString;
Report.Info( "Policy Holder Surname As String = " + QuotePolicyHolderSurnameAsString);
Report.Info( "Quote Policy Holder Surname = " + QuotePolicyHolderSurname.InnerText);
最终文件称为 SetDataSource 并将信息放入 CSV 文件中,在顶部声明了一个变量,如下所示:
string _PolicyHolderSurname = "";
[TestVariable("222D47D2-6F66-4F05-BDAF-7D3B9D335647")]
public string PolicyHolderSurname
{
get { return _PolicyHolderSurname; }
set { _PolicyHolderSurname = value; }
}
然后将其添加到 CSV 文件中的代码:
string Surname = PolicyHolderSurname;
Report.Info("Surname = " + Surname);
dataConn.Rows.Add(new string[] { Surname });
dataConn.Store();
Mine 和 SetDataSource 文件中有多个项目,在 Notepad++ 中的输出如下所示:
我相信问题在于 CreateCSVFile 和 writer.WriteLine 函数。我已将此区域注释掉,但它随后会生成仅显示标题的 CSV。
我问过一些与我一起工作的开发人员,但大多数人都不太了解 C#,而且还没有人能够解决这个问题。如果它有所作为,那就是在 Windows Server 2012r2 上。
对此有任何问题请提出,如果需要,我可以提供整个文件,它们只是相当长且重复。
谢谢本怡和