我们正在创建一个将某些数据输出到XML模式的系统。该架构中的某些字段需要保留其格式,因为它将由最终系统解析为潜在的Word文档布局。为此,我们在App.Config文件中使用<![CDATA[Some formatted text]]>
标签,然后将其放入由我们的模式生成的xsd.exe生成的类中的适当属性字段中。理想情况下,格式化不会出问题,但不幸的是,这就是系统的进展情况。当在C#中写入XML时,停止输出转义CDATA标签
在app.config部分看起来如下:
<header>
<![CDATA[Some sample formatted data]]>
</header>
数据分配如下所示:
HeaderSection header = ConfigurationManager.GetSection("header") as HeaderSection;
report.header = "<[CDATA[" + header.Header + "]]>";
最后,如下XML输出的处理:
xs = new XmlSerializer(typeof(report));
fs = new FileStream (reportLocation, FileMode.Create);
xs.Serialize(fs, report);
fs.Flush();
fs.Close();
理论上这应该在最终的Xml中产生一个包含CDATA标签信息的部分。但是,斜角括号正在转换为<
和>
我已经查看了禁用Outout Escaping的方法,但到目前为止只能找到对XSLT工作表的引用。我也尝试过@"<[CDATA["
与字符串,但再次没有运气。
任何帮助,将不胜感激!
为了获得代码格式(允许'<'等)内联在段落中,您可以使用反引号(如在我的编辑中) – AakashM 2010-06-11 10:28:14