我们正在创建一个将一些数据输出到 XML 模式的系统。此架构中的某些字段需要保留其格式,因为最终系统会将其解析为可能的 Word 文档布局。为此,我们在<![CDATA[Some formatted text]]>
App.Config 文件中使用标签,然后将其放入从我们的模式生成的 xsd.exe 类中的适当属性字段中。理想情况下,格式化不会有问题,但不幸的是,这就是系统的运行方式。
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["
使用琴弦,但还是没有运气。
任何帮助,将不胜感激!