我正在编写一个执行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>
答案 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^>"