0

我有下面的 C# 代码,用于输入目录中的每个文件,在其上运行 XQuery 进程,并将每个文件输出为 XML 文件。该代码调用 SAXON XQuery 处理器。注意:代码现在可以工作,但它只处理目录中的第一个文件。输入目录中的第二个、第三个等输出文件作为空 XML 文件返回。问题:如何修改代码以处理输入目录中的所有文件(不仅仅是第一个文件)?

  public void OpenWithArguments(string t)
  {

    string sourceDir = t;
    string [] fileEntries = Directory.GetFiles(sourceDir);

    foreach (string fileName in fileEntries)

      {

        Process process = new Process();
        process.StartInfo.FileName = @"C:\Program Files\Java\jdk6\bin\java";


        process.StartInfo.CreateNoWindow = true;
        process.StartInfoArguments = 
          @" -cp C:\mydir\saxon9he.jar net.sf.saxon.Query -o:C:\myOutPutFiles\" + 
              Path.GetFileNameWithoutExtension(fileName) + 
          @".xml C:\myQueries\myquery.xquery input=" + 
              Path.GetFileNameWithoutExtension(fileName);

        process.Start();
        process.Close();

      }
  }
4

1 回答 1

1

启动后尝试添加 process.WaitForExit() 。

于 2011-03-10T22:23:57.070 回答