【发布时间】:2012-09-20 13:14:02
【问题描述】:
我试图在调用 Process.Start 时使用包含 XML 的字符串作为参数,但是只有第一个空格之前的字符才能通过。例如,如果 Input.xml 包含以下文本 <?xml version="1.0" encoding="utf-8" ?>,那么我调用的所有应用程序接收到的是 "<?xml"。
以下是将其放入上下文的代码示例:
XmlDocument xml = new XmlDocument();
xml.Load("C:/Input.xml");
Process proc = Process.Start("C:/Program.exe", xml.OuterXml);
有没有办法解决这个问题?
【问题讨论】:
-
这是你的程序吗?如果是这样,请将其更改为接受文件名或从标准输入读取 - 将 XML 内容作为命令行参数是 weird。
-
你说得对,Jon,但这是临时解决方法的一部分。
-
那么你能改变程序吗?如果是这样,请使用其中一种替代方法 - 如果它本身很痛苦,那么临时解决方法是不好的。
-
上周我放弃了尝试将 XML 作为参数传递并进行更改以从标准输入读取。乔恩,你能发表你的评论作为答案吗?或者也许这个问题应该被删除?
标签: c# cmd process.start