gpt4 book ai didi

c# - 使用 java 命令将 xml 批处理转换为 C#

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:43 25 4
gpt4 key购买 nike

我目前有一个包含以下行的批处理文件:

"C:\Program Files (x86)\Java\jre7\bin\java" -Xmx1224m -classpath .\xalan.jar 
org.apache.xalan.xslt.Process -IN FileIn.xml -XSL FileConvert.xslt -OUT FileOut.xml

它需要给定的 xml 和给定的 xslt 并输出一个新的、转换后的 xml。该批处理运行得很好,但我正在尝试将其转换为 C#,以便我可以围绕它构建一个应用程序,并能够更改一些参数,例如要选择的输入文件。

我的代码是这样的,

ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", 
"/k " + "\"C:\\Program Files (x86)\\Java\\jre7\\bin\\java\" -Xmx1224m -classpath .\xalan.jar org.apache.xalan.xslt.Process -IN In.xml -XSL Convert.xslt -OUT Out.xml");
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();

认为它会像一个简单的 CMD 命令一样运行。当我这样做时,我只会收到一条消息,其中包含允许您使用的 Java 命令列表,然后它就会退出。我尝试了使用引号的一些变体,例如 @"C:\... 等等。

有什么想法吗?

最佳答案

试试下面的方法,会对你有帮助...

string commandLine = "-Xmx1224m -classpath .\xalan.jar org.apache.xalan.xslt.Process -IN  In.xml -XSL Convert.xslt -OUT Out.xml";
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo(commandLine);
procStartInfo.WorkingDirectory = @"C:\Program Files (x86)\Java\jre7\bin\java";
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
Console.WriteLine(result);

关于c# - 使用 java 命令将 xml 批处理转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15973264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com