473,413 Members | 1,778 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,413 software developers and data experts.

Serialisation auto formatting

Hi,
I'm trying to serialise some objects and I've can't get the built in
serialisation to output exactly what I want. For the moment I'm
implementing the IXmlSerializable interface and doing it the long way.
For future reference is it possible to specify how a property should
be formatted when being serialised?

Example:

In the following code I want the Time property to be formatted not to
the default .ToString() but to .ToUniversalTime().ToString("r")

[Serializable]
public class Test
{

[XmlElement("time")]
public DateTime Time;
}

I was wondering is there an attribute that I can add along with
XmlElement to do this?

Perhaps something link:
[XmlElement("time"), XmlFormat(formatDate)]
public DateTime Time;
void FormatDate(object obj, XmlWriter writer)
{
DateTime dt = (DateTime)obj;
writer.WriteString( dt.ToUniversalTime().ToString("r") );
}

Where xmlformat created a delegate of type:

public delegate void XmlPropertyFormatter(object obj, XmlWriter
writer);

and when the Time property is to be serialised it calls the delegate
passing the Time property as the object parameter and the XmlWriter.
Cheers
Damien
Nov 12 '05 #1
1 1776
Hello

The default serialization doesn't call the default ToString method, because
it is culture dependent and can differ from one machine to another.
The default serilization is in the format
yyyy'-'MM'-'ss'T'HH':'mm':'ss'.'ffffffzzz
Below is a piece of code that serializes the object the way you want. I made
the Time field ignored, and made a string property that returns the desired
format.Note that after formatting a date to string you have a string object
to serialize not a date object.
public class Test
{
[XmlElement("time")]
public string TimeString
{
get
{
return Time.ToUniversalTime().ToString("r");
}
set
{
Time = DateTime.ParseExact(value, "r",
System.Globalization.CultureInfo.InvariantCulture) ;
}
}
[XmlIgnore]
public DateTime Time;
}

Best regards,
Sherif

"McGiv" <go****@mcgiv.com> wrote in message
news:fc**************************@posting.google.c om...
Hi,
I'm trying to serialise some objects and I've can't get the built in
serialisation to output exactly what I want. For the moment I'm
implementing the IXmlSerializable interface and doing it the long way.
For future reference is it possible to specify how a property should
be formatted when being serialised?

Example:

In the following code I want the Time property to be formatted not to
the default .ToString() but to .ToUniversalTime().ToString("r")

[Serializable]
public class Test
{

[XmlElement("time")]
public DateTime Time;
}

I was wondering is there an attribute that I can add along with
XmlElement to do this?

Perhaps something link:
[XmlElement("time"), XmlFormat(formatDate)]
public DateTime Time;
void FormatDate(object obj, XmlWriter writer)
{
DateTime dt = (DateTime)obj;
writer.WriteString( dt.ToUniversalTime().ToString("r") );
}

Where xmlformat created a delegate of type:

public delegate void XmlPropertyFormatter(object obj, XmlWriter
writer);

and when the Time property is to be serialised it calls the delegate
passing the Time property as the object parameter and the XmlWriter.
Cheers
Damien

Nov 12 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Seth | last post by:
How can I completely turn off the auto formatting of Html in Visual Studio 7? I have tried all possible combinations (at least I think I have) of the Tools / Options / Text Editor / HTML XML /...
0
by: sonic_soul | last post by:
silly, but i thought i disabled auto formatting in Options > Text Editor > HTML/XML > Format > Apply automatic formatting. after creating a huge aspx page maticulously formatted i switch to...
1
by: Zorpiedoman | last post by:
I have many different projects and solutions I am working on. All but one of them work fine. One of them, for a reason I can't figure out, has stopped 'auto formatting' as I work in the...
4
by: Stephen | last post by:
I need to generate input XML for another application by serialising classes defined in an XSD document. The code below will generate the XML I require but I need to generate this in memory rather...
1
by: McGiv | last post by:
Hi, I'm trying to serialise some objects and I've can't get the built in serialisation to output exactly what I want. For the moment I'm implementing the IXmlSerializable interface and doing it...
2
by: John Holmes | last post by:
I saw a similar post that went unanswered about a month ago. I am annoyed by the auto-formatting that occurs when creating my form. I'll make changes to the code (HTML tab) and then view them in...
2
by: hb | last post by:
Hi, The auto-formatting of HTML code in Visual Studio.Net 2003 is very annoying! I already unchecked the 2 checkboxes in "Apply Automatic Formatting" section located at: Tools-->Options-->Text...
2
by: Greg | last post by:
I have a bizarre situation in which serialisation is failing routinely under a specific condition, and I'm wondering if the details ring a bell with anyone here. I have 2 classes that my...
4
by: Harris Kosmidhs | last post by:
Consider the following HTML: <div class="links"> <img src="linkimages/logo.gif"> <h2>title</h2> <span><a target="_blank" href="http://">http://</a></span> <p>description of link</p> </div> ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.