Мы создаем систему, выводящую некоторые данные в схему 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["
со строками, но опять не повезло.
Любая помощь будет оценена!