一部のデータを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["
弦を試してみましたが、やはり運がありません。
どんな助けでもいただければ幸いです!