Я использую XDocument для создания XML файла следующим образом:
var d = DateTime.Now;
var xDocument = new XDocument(new XElement("ThisIsADate", d));
Однако полученный XML представляет дату d с использованием формата xs: datetime (например, "2012-05-11T00: 00: 00" ). То есть он включает информацию о времени.
Однако мой XML должен соответствовать моей XML-схеме, которая определяет элемент как тип "xs: date". Следовательно, файл отклоняется при проверке с помощью схемы из-за дополнительной информации о времени.
Как я могу это исправить? Я знаю, что могу просто форматировать дату самостоятельно, используя ToString() с форматом, но это не может быть "правильным" способом сделать это, конечно. Я не ожидаю, что буду знать, как отформатировать дату как допустимую дату XML - работу с XML-компонентами структуры.
Изменить: обратите внимание, что я знаю, как форматировать дату с помощью ToString(), и я также знаю, какая строка формата даст мне правильный результат. Это не тот ответ, который я ищу. Я ищу функцию/метод/класс, которая понимает, что такое xs: date (и т.д.), И поддерживает те виды кодировок.
Чтобы быть ясным, я не хочу "делать это", я ищу "сделать это правильно". И повторное изобретение XML-колесика не "делает это правильно" в моей книге.