Post A GOOD And Short Example Of Serialization And Deserialization Of An Object?
Oct 30, 2010
Can somebody post a GOOD and short example of serialization and deserialization of an object?Where it can produce an output to string and later be crypted for database purpose. ^.^
I would like to handle the progress of binary serialization / deserialization of files to show a "loading" progress bar to the user but I cant't find a solution to do that.
I'm trying to XML-serialize a class the properties of which I use to format a document.Basically, it is a class for the document's header and another class for its rows. url...In this class diagram, the class I want to serialize is ExcelPrintCorte that inherits its methods from ExcelCabec and has a private member ExcelPrintDocumento (and a public method to get it).My purpose is to XML-serialize ExcelPrintCorte and save the inherited properties' values and also the properties' values of ExcelPrintDocumento. I followed many guides to XML-serialize an object but it saves nothing but: [code] So, what am I doing wrong? Or is what I'm trying to do not possible with XML serialization?
I am trying to save a custom object as a user setting in a VB.net app. This object consists of a List(Of Pair(Of String, Object)). Pair is a custom class which has two read/write properties (a String and an Object).
If I put simple types like int, string, datetime as the second value of my pair, the setting is saved without any problem. But if I try to put something more complex, like a list, there seems to be a problem during serialization and my setting is not saved.
String values in my pairs are serialized like this:
<value1>Priority_1</value1>
Object values are serialized with a special attribute:
<value2 xsi:type="xsd:int">2</value2>
Seems like values of type Object are serialized differently, to "remember" what is the real type of the object. Why can't it do the same for more complex types like List(Of T)?
My quest is in regards to xml serialization. I need to get rid of the root node of a collection. I don't have access to my source now so I'll just try to generalize
public class SomeClass '...some other properties... <XMLArray(isnullable:=true), _ <XMLArrayitem(datatype:=(getType(object1)), _
Is there any way to create an XmlSerializer that stores along with the serialized data the data type, then when deserializing, it automatically identifies the type of the serialized object and creates an object of that type (returned as object).
My application's binary serialization was working well up to today (this is not a released app yet - still in development). I have a "Project" class that is the top-level class of a hierarchy of other classes related to its function. And before you think it, yes, all of those classes are marked as serializable. Infact, they all were being serialized before today.
I have one event on the Project class that assists in informing when the project's save status has changed (i.e. new, modified, saved). This event was added today along with some events on the other classes that filter up to the Project class (the project needs to be told when its objects have been modified). I unfortunately added all of this at the same time so I can't provide any incremental details as to when it stopped working, but when I try to save the project through my binary formatter it tells me that my main form is not marked as serializable. Well, yeah... of course it isn't! it shouldn't need to be because there is no member of my classes that even mentions the form. But for some reason handling the Project's event on the form triggers this error.
Serializing the form is not a solution. Neither is not being able to handle my Project events. If I comment out the handler it works fine -- and I don't even have to remove the WithEvents keyword on my form's Project variable. Now that I write that I'm speculating that it may have to do with the event being raised as a result of the serialization (occurs when the save button is clicked).
I've been using XML serialization for a while, and today I realized something really odd. If I have a new line right after a "dot" (.), when i deserialize, I lose the dot. Has anyone ever had this happen to them? The following is my serialization code:
Does link text mean I have to return a concrete implementation? Even though I am using svcutil with the /r that includes my entites(where IMyInterface is defined). I get no errors but it changes all List(of IMyInterface) to list(of Object) and I cannot deserialize it on the client
Error: list(of object) cannot be converted to list(of IMyInterface).
I've managed to narrow down my issue to a simple annoyance. I had a Webbrowser control mostly coded to navigate around an Oracle CRM On Demand site to generate metric reports, but then realized when I tried to build in the auto-download part, that the Webbrowser object wasn't going to give me the behind-the-scenes control I wanted. Searching online, it seems the Webclient control might be a better route. However I'm stuck trying to get by the login page so I can use the Download-File method to get my generated xls report. [Code] But every reply from the server has "Sign In Error: Both a user sign in ID and a password must be given." which tells me the form/post data isn't getting where it needs to go (It thinks the form is blank at [Code].
The above username and password are bogus of course, but once I can get a different reply then 'the fields are blank' I can worry about correct logon information. I'm just not sure what I'm not doing correctly or if I need to include something else. Since it's a publicly accessible site and I'm stuck getting something in the form to be 'seen', it should be easy for others to try and test.
I have two experimental web services. One is an asmx contained within a .net web application. The other is a WCF service library being invoked from the web application.The asmx basically does everything I need, but I think WCF would be better, except that it doesn't do anything as I would expect after fiddling with the asmx service.For example, the same method behaves differently in each:
' ASMX <WebMethod(BufferResponse:=True, EnableSession:=False)> Function Test(aObject as Object) as Object ' object will have been successfully serializaed into a dictionary
Some code first..this is how i deserialize..This part works.
Dim rdr As XmlReader = XmlReader.Create(New System.IO.StringReader(Replace(prestr, "><", ">" & vbCrLf & "<"))) Dim serialize As XmlSerializer = New XmlSerializer(GetType(ItemLookupResponse)) Dim myProduct As ItemLookupResponse = New ItemLookupResponse myProduct = CType(serialize.Deserialize(rdr), ItemLookupResponse)
I have a Child class which uses DataContractSerialization and raises a Changed event when its Name property is set.
<DataContract()> Public Class Child Public Event Changed()
The Parent class is serialzed and deserialized and all the data (including the Child) is saved and resored as expected.However, after deserialization, the Changed event is never raised!I know the deserialization process bypasses class constructors, but shouldn't the event be initialized?Is it possible to serialize/deserialize the Event?Is there a way to initialize the event in the OnDeserialzed method of the Child rather than the Parent (see below)?
(1) Add a constructor to the Child class which takes an instance of itself as an argument.
(2) Add an OnDeserialized method to the Parent class which creates a New instance of the Child class based on the deserialzed instance of the Child class.
<OnDeserialized()> Private Sub OnDeserializedMethod(ByVal Context As StreamingContext) Child = New Child(Child) End Sub
Coming up against a brick wall with sending items over the network using sockets. I'm using Chilkat rather than the built in TCP Client / listener but thats not the issue. From point a I send through a string converted to base64 as below
I am not seeing what I am doing wrong. To see what was being done, I changed the constructor values to "TEST", after the XML gets read in (I verified what the XML is), the class values are still stuck to "TEST". Any more Ideas? I am doing this process already in another class that works fine, neither me nor some co-workers could find the difference.[code]...
I am having problems deserializing the response message I receive from the proxy class I created through WSDL.exe. I believe the problem lies in the fact that I am using XmlArrayItem, which has nested items within.Instead of getting:
I am trying a simple object deserialization from an object encoded as a Base64 string, but I keep getting this weird error message. I've searched the forums for a solution but those who've experienced this all had different reasons for the error. The most logical solution, which is resetting the stream's position, did not work either. Here's my code:
Dim UnserializedObject As Object Dim ser As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter Dim buffer As Byte()
To object oriented programming and programming with visual basic .net (vb 2008 express). regarding storing of information but not in a database. Someone mentioned using binary or xml serialization. So I researched that and after two long 8 hour days of messing around with binary serialization and about a dozen different code techniques i finally found one that seems to work. I created a module that serializes two variables and appends them into a file. The same module also has a sub that deserializes the information from the file and displays in a message box. If needed I'll provide the code later.
Really the problem I am having is that my message box only displays the first entry into the file and no other. So I can append any number of variables to the file but every time I call the subroutine in my module it only displays the first entry. How do you read all of the file? Also can I search the file for a particular value of a variable? The variables are codependent. The two variables are simply a date and a string representing a changing code that corresponds to that specific date. So I'd like to be able to say search for a date and retrieve both the date and the code.
However I don't have any idea how to do this. Also the messagebox.show method is probably not the best way to illustrate the information in the file but I'm still new and I'm not sure the best way to show all the info in the file. For instance if I wanted to show the entire contents or just the codes corresponding to certain dates. I know a database is probably the better answer but I've gotten this far without one, lol, I'm too stubborn to change now. Once I figure this out, I'll switch and try the same technique with a database.
Changed thread type to QUESTION. I was then able to mark AS ANSWER the relevent post which now also immediately follows this post and so it is easier to find as suggested by forum user j2associates .
<edit> It is also my 3rd post in this thread, the 8th one up, of my posts, from the bottom ( for now ), as the forum format has changed yet again.I will leave the rest of this post( as is ) purely for historical reasons. I have been on these forums long enough to see 3 forum changes. <edit> 19th May, 2010> Link added to a video on the next line of text.
Why is XMLSession.FileList.Count always 0. I hypothesize it has something to do with the declaration above it but I am not sure what is wrong with it. Maybe it can't accept a path, if not, how can I do it?
I've been serialising and deserialising .net objects using the XmlSerializer class without problem, however we now need somebody else to look at that data to perform some analysis on it.In order to help with that we've produced an XSD based on our class like so:
Bizarly, the XML produced does not adhere to the XSD generated from the same class.My question then is, is there a way of telling the XmlSerializer to serialize the object based on a given XSD? As an aside, I've looked at other ways of fixing this: I've tried re-generating the classes from the generated XSD - this seemed to have the same problem.
In VB.NET: If varShort is a Short and varBit is a value from 0 to 15, how can I set the bit in varShort identified by varBit without disturbing any of the other bits in varShort? My problem, of course, is with the most significant bit, bit 15. Since varBit is determined at runtime