使用包含引号和空格的命令行参数,例如一个XML字符串

时间:2012-04-23 22:52:44

标签: cmd

我正在编写一个执行XML操作的命令行可执行文件。我希望能够直接传入XML字符串作为命令行中的参数,但是我在处理XML属性中使用的双引号(“)时遇到了困难。我尝试使用转义字符(^”),但是这似乎不起作用。如何格式化参数以正确传入?

以下是迄今为止尚未发挥作用的示例:

"<?xml version=^"1.0^" encoding=^"UTF-8^"?><sbml xmlns=^"http://www.sbml.org/sbml/level2/version4^" level=^"2^" version=^"4^"><model metaid=^"_case00001^" id=^"case00001^" name=^"case00001^"></model></sbml>"

<?xml version="1.0" encoding="UTF-8"?><sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"><model metaid="_case00001" id="case00001" name="case00001"></model></sbml>

2 个答案:

答案 0 :(得分:1)

通常反斜杠用于转义字符串的双引号,与解析xml不同,所以请尝试使用\“,或者用单引号替换它们。

答案 1 :(得分:0)

尽量逃避qoutes而不是'&lt;'和'&gt;': 这适用于我在cmd命令行中的测试:

  somecommand.exe "^<?xml version="1.0" encoding="UTF-8"?^>^<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"^>^<model metaid="_case00001" id="case00001" name="case00001"^>^</model^>^</sbml^>"