我有下面的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();
}
}
答案 0 :(得分:1)
尝试在启动后添加process.WaitForExit()。