का उपयोग कर डेटाटाइप = "समय" फ़ील्ड को क्रमबद्ध करना XmlSerializer का उपयोग करते हुए डेटटाइम फ़ील्ड को क्रमबद्ध करते समय मुझे एक अजीब परिणाम मिल रहा है।XmlSerializer
public class RecordExample
{
[XmlElement("TheTime", DataType = "time")]
public DateTime TheTime { get; set; }
[XmlElement("TheDate", DataType = "date")]
public DateTime TheDate { get; set; }
public static bool Serialize(
Stream stream, object obj, Type objType, Encoding encoding)
{
try
{
var settings = new XmlWriterSettings { Encoding = encoding };
using (var writer = XmlWriter.Create(stream, settings))
{
var xmlSerializer = new XmlSerializer(objType);
if (writer != null) xmlSerializer.Serialize(writer, obj);
}
return true;
}
catch (Exception)
{
return false;
}
}
}
जब मैं निम्नलिखित परीक्षण कोड के साथ प्रयोग के XmlSerializer फोन:
var obj = new RecordExample
{
TheDate = DateTime.Now.Date,
TheTime = new DateTime(0001, 1, 1, 12, 00, 00)
};
var ms = new MemoryStream();
RecordExample.Serialize(ms, obj, typeof(RecordExample), Encoding.UTF8);
txtSource2.Text = Encoding.UTF8.GetString(ms.ToArray());
मैं कुछ अजीब परिणाम प्राप्त है, यहाँ एक्सएमएल उत्पादन किया है कि है
मैं निम्नलिखित वर्ग है:
<?xml version="1.0" encoding="utf-8"?>
<RecordExample
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TheTime>12:00:00.0000000+00:00</TheTime>
<TheDate>2010-03-08</TheDate>
</RecordExample>
किसी भी विचार कैसे मैं "thetime" तत्व प्राप्त कर सकते हैं एक समय क को रोकने के लिए है ich इस तरह दिखता है:
<TheTime>12:00:00.0Z</TheTime>
... जैसा कि मैं उम्मीद कर रहा था?
धन्यवाद
डेव
संभावित डुप्लिकेट [सीरियलाइजिंग डेटटाइम बिना मिलीसेकंड और जीएमटी के समय] (http://stackoverflow.com/questions/101533/serializing-datetime-to-time-without-milliseconds-and-gmt) –