使用xml参数运行exe

时间:2013-12-11 09:50:24

标签: c# xml

我有SqlXml参数,我想将它作为参数发送到我的控制台应用程序。 我怎么能这样做?

public static void p_createExcel(SqlString procName, SqlString fileName, SqlString filePath, SqlXml xmlParams, out SqlBoolean result)
{
    System.Diagnostics.Process installProcess = new System.Diagnostics.Process();
    //settings up parameters for the install process
    installProcess.StartInfo.FileName = @"d:\Documents\Temp\console1\createReport.exe";
    installProcess.StartInfo.UseShellExecute = false;

    installProcess.StartInfo.Arguments = xmlParams//this doesn't work
    installProcess.Start();

    installProcess.WaitForExit();
    result = (installProcess.ExitCode == 0) ? true : false;
}

1 个答案:

答案 0 :(得分:0)

尝试使用SqlXml对象的Value属性作为参数发送:

installProcess.StartInfo.Arguments = xmlParams.Value;

虽然,正如@Marco指出的那样,这可能会导致(某种程度上)不可预测的行为。为了让事情变得更优雅,你可以试试这个:

  1. Value对象的SqlXml保存到文件中(如果您想要始终创建新文件,请参阅Path.GetTempFileName。)
  2. 更改您的应用程序( createReport.exe )以接受文件名作为输入
  3. 将文件名传递给您的流程

    installProcess.StartInfo.Arguments = "path to newly created xml file";