带有换行符和双引号的C ++字符串,编码为XML CDATA

时间:2012-09-20 10:13:54

标签: javascript c++ mysql xml xerces-c

我有一个字符串(代表一些Javascript代码),带有双引号和换行符,比如说:

<script src="mytest.js"></script>
<script>
   (function() { 
      var u = 'http://myserver.com/myapp.js';
      document.write('script src="' + u + '"></scr'+'ipt'>);
   })();
</script>

此字符串存储在MySQL数据库中,我使用libzdb将其读入内存中的C ++字符串。

现在,我将整个脚本字符串读入C ++ std :: string变量。因此,双引号被转义,换行符用\ r \ n字符表示。所以内存中的字符串看起来像:

<script src=\"mytest.js\"></script>\r\n<script>(function() {\r\n var u =       'http://myserver.com/myapp.js';\r\n document.write('script scr=\"' + u + '\"></scr'+'ipt'>);\r\n})();\r\n</script>

接下来,我使用XERCES C ++库将此内存中的字符串放入CDATA部分。当XML数据进一步序列化为字符串时,编码的字符串(带有转义引号和换行符)将出现在XML数据中。

如何确保XML中的CDATA部分没有转义引号和换行符?

非常感谢!

0 个答案:

没有答案