मैं एक एक्सएमएल फ़ाइल बनाने के लिए XDocument उपयोग कर रहा हूँ:प्रकार XS के रूप में दिनांक समय में XElement का प्रतिनिधित्व करने की तारीख को बनाने के लिए कैसे: इस प्रकार, दिनांक
var d = DateTime.Now;
var xDocument = new XDocument(new XElement("ThisIsADate", d));
हालांकि, जिसके परिणामस्वरूप एक्सएमएल तारीख घ XS का उपयोग कर का प्रतिनिधित्व करता है: डेटाटाइम प्रारूप (उदाहरण के लिए "2012-05-11T00: 00: 00")। यही है, इसमें समय की जानकारी शामिल है।
हालांकि, मेरा एक्सएमएल मेरा एक्सएमएल स्कीमा से मेल खाता है, जो तत्व को "xs: date" प्रकार के रूप में परिभाषित करता है। नतीजतन, अतिरिक्त समय की जानकारी के कारण, स्कीमा के खिलाफ मान्य होने पर फ़ाइल अस्वीकार कर दी जाती है।
मैं इसे कैसे ठीक कर सकता हूं? मुझे पता है कि मैं सिर्फ प्रारूप के साथ ToString() का उपयोग कर तारीख को प्रारूपित कर सकता हूं, लेकिन यह निश्चित रूप से ऐसा करने का "सही" तरीका नहीं हो सकता है। मुझे यह जानने की उम्मीद नहीं की जा सकती कि एक वैध XML तिथि के रूप में दिनांक कैसे प्रारूपित किया जाए - यह ढांचे के एक्सएमएल से संबंधित भागों का काम है।
संपादित: कृपया ध्यान दें कि मुझे क्या करना जानते हैं कि कैसे एक तिथि का उपयोग कर toString() फ़ॉर्मेट करने के लिए, और मैं यह भी पता है कि प्रारूप स्ट्रिंग मुझे सही परिणाम देना होगा। यही वह जवाब नहीं है जिसे मैं ढूंढ रहा हूं। मैं एक फ़ंक्शन/विधि/कक्षा की तलाश में हूं जो समझता है कि xs: date (आदि) क्या है, और यह उन प्रकार के एन्कोडिंग का समर्थन करता है।
स्पष्ट होने के लिए, मैं "इसे पूरा करने" की तलाश नहीं कर रहा हूं, मैं "इसे सही करने" की तलाश में हूं। और एक्सएमएल व्हील का पुन: आविष्कार करना मेरी पुस्तक में "सही कर रहा है" नहीं है।
मेरा मानना है कि आप 'ToString()' किसी और इसकी सिर्फ वस्तु आप '.ToString() द्वारा अपने स्ट्रिंग संस्करण को पारित परिवर्तित करने का उपयोग कर प्रारूप निर्दिष्ट करने की आवश्यकता होगी' कस्टम में पारित करने के लिए ताकि आप होगा प्रारूप – V4Vendetta