Мы создаем систему, выводящую некоторые данные в схему XML. Некоторым из полей в этой схеме необходимо, чтобы их форматирование сохранялось, поскольку оно будет анализироваться конечной системой на потенциально макет документа Word. Для этого мы используем теги <![CDATA[Some formatted text]]>
внутри файла App.Config, а затем помещаем это в соответствующее поле свойства в генерируемый класс xsd.exe из нашей схемы. В идеале форматирование не будет проблемой, но, к сожалению, именно так происходит система.Остановить теги CDATA при выводе на экран при записи в XML в C#
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["
со строками, но опять не повезло.
Любая помощь будет оценена!
Чтобы получить форматирование кода (что позволяет '<' и т. Д.) Встроенный в абзац, вы можете использовать backquotes (как в моем редактировании) – AakashM