C#でXMLの日付をフォーマットするためのコードのサンプルを次に示します。
Datatable dt = Data.GetMyDataTable();
foreach(DataRow row in dt.Rows)
{
//Create XElement with date
XElement element = new XElement("MyElement", Convert.ToDateTime(row["MyDateColumn"]).ToString("yyyy-MM-dd")));
}
アプリケーションのデバッグ中にVisualStudio2008 XML VisualizerでXMLファイルを見ると、日付が「2011-09-27」の正しい形式で表示されます。
次のDecisionSoftXMLSchema Validatorを使用してXSDファイルに対して検証すると、次のエラーが発生します。
cvc-datatype-valid.1.2.1:「20110927」は「date」の有効な値ではありません。
Visual Studio 2008のXMLビジュアライザーが正しい形式を表示し、DecisionSoftが表示しないのはなぜですか?また、問題を修正するためにコードを変更するにはどうすればよいですか?