estoy usando XDocument para crear un archivo XML, de la siguiente manera:Cómo crear XElement fecha en representación de fecha y hora como tipo xs: Fecha
var d = DateTime.Now;
var xDocument = new XDocument(new XElement("ThisIsADate", d));
Sin embargo, el XML resultante representa la fecha d el uso de los xs: formato de fecha y hora (por ejemplo, "2012-05-11T00: 00: 00"). Es decir, incluye información de tiempo.
Sin embargo, mi XML está destinado a coincidir con mi esquema XML, que define el elemento como de tipo "xs: date". En consecuencia, el archivo se rechaza cuando se valida con el esquema, debido a la información de tiempo extra.
¿Cómo puedo solucionar esto? Sé que podría simplemente formatear la fecha usando ToString() con un formato, pero esta no puede ser la forma "correcta" de hacerlo, seguramente. No se puede esperar que sepa cómo formatear una fecha como una fecha XML válida: ese es el trabajo de las partes del marco relacionadas con XML.
Editar: Tenga en cuenta que yo hago saben cómo dar formato a una fecha con ToString(), y también sé qué cadena de formato me daría el resultado correcto. Esa no es la respuesta que estoy buscando. Estoy buscando una función/método/clase que entienda qué es xs: date (etc.), y que admita ese tipo de codificaciones.
Para ser claro, no estoy buscando "hacerlo bien", estoy buscando "hacerlo bien". Y reinventar la rueda XML no es "hacerlo bien" en mi libro.
creo que tendría que especificar el formato usando 'ToString()' lo demás es sólo convertir el objeto que se pasa a su variante de cadena por el '.ToString()' por lo que tendrá que pasar en la costumbre formato – V4Vendetta