2012-04-23 36 views
0

我在写一个执行XML操作的命令行可执行文件。我希望能够直接在命令行中作为参数传递一个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> 

回答

1

通常反斜杠用于逃避串DBL引号,不一样的解析XML最好尽量使用\”,或更换他们用单引号,你可以

+0

临屋NKS! \“做了诡计! – user1027169 2012-05-10 06:24:27

0

尝试excape不是qoutes但“<”和“>”: 这工作对我的测试中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^>" 
相关问题