0

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>
4

2 に答える 2

1

通常、バックスラッシュは文字列のdbl引用符をエスケープするために使用され、xmlの解析とは異なります。したがって、\ "を使用するか、可能な場合は一重引用符に置き換えてください。

于 2012-04-23T23:00:50.983 に答える
0

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^>"
于 2012-04-26T15:23:38.783 に答える