473,324 Members | 2,400 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,324 software developers and data experts.

Can I make a class from XML? Serialize?

Hi guys,

I need a way to dynamically change (or create) a custom class using an
external xml file. Can this be done at all? This is what the class looks
like:

Public Class MemberData
Private _EmailGUID As String
Private _Email As String
Private _FirstName As String
Private _LastName As String
Private _Title As String
Private _Company As String
Private _Address As String
Private _PostalCode As Integer
Private _City As String
Private _Phone As String
Private _Active As Integer
Private _RegDate As DateTime
Private _ChangeDate As DateTime

Public Sub New()
MyBase.New()

_EmailGUID = ""
_Email = ""
_FirstName = ""
_LastName = ""
_Title = ""
_Company = ""
_Address = ""
_PostalCode = 0
_City = ""
_Phone = ""
_Active = 0
_RegDate = Nothing
_ChangeDate = Nothing
_SoftBounces = 0
_HardBounces = 0
_GroupIDs = ""

End Sub

Public Property EmailGUID() As String
Get
Return _EmailGUID
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address identifier cannot be
empty")
End If
_EmailGUID = Value
End Set
End Property

Public Property Email() As String
Get
Return _Email
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address cannot be empty")
End If
_Email = Value
End Set
End Property

[...]

End Class
Thanks.
Regards Jonah
Nov 17 '05 #1
17 1441
Nak
Hi there,

Do you mean during Run-time? If so then I don't believe so. Or do you
mean at Design-time? If so then it is "possible" but you would need to
either find an application that can create a class from an XML file or make
one yourself, out of interest what purpose would it serve?

Nick.

"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Hi guys,

I need a way to dynamically change (or create) a custom class using an
external xml file. Can this be done at all? This is what the class looks
like:

Public Class MemberData
Private _EmailGUID As String
Private _Email As String
Private _FirstName As String
Private _LastName As String
Private _Title As String
Private _Company As String
Private _Address As String
Private _PostalCode As Integer
Private _City As String
Private _Phone As String
Private _Active As Integer
Private _RegDate As DateTime
Private _ChangeDate As DateTime

Public Sub New()
MyBase.New()

_EmailGUID = ""
_Email = ""
_FirstName = ""
_LastName = ""
_Title = ""
_Company = ""
_Address = ""
_PostalCode = 0
_City = ""
_Phone = ""
_Active = 0
_RegDate = Nothing
_ChangeDate = Nothing
_SoftBounces = 0
_HardBounces = 0
_GroupIDs = ""

End Sub

Public Property EmailGUID() As String
Get
Return _EmailGUID
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address identifier cannot be empty")
End If
_EmailGUID = Value
End Set
End Property

Public Property Email() As String
Get
Return _Email
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address cannot be empty")
End If
_Email = Value
End Set
End Property

[...]

End Class
Thanks.
Regards Jonah

Nov 17 '05 #2
Hi Nick,

Here's the deal; I'm trying to create a Web Service to be run as an engine
for several client web applications. The engine takes care of all
communication with each database.
The reason I say 'each' is that a customer may use their own SQL server. All
this is just testing, but I came up with the idea when looking at an example
how to dynamically create stored procedures using XML files
(http://www.fawcette.com/xmlmag/2002_...lin_11_05_02/). Since
I use the MemberData class in the function that contains the call to the
Stored Procedure, and I can change the parameters in the SP using an XML
file, why shouldn't I be able to also make the MemberData class dynamic.

Say, one customer needs to add "Department" to the MemberData class. This
can easily be done in the XML file for the SP, but how to add it to the
MemberData class? I just don't want to re-build the entire Web Service
application.

I'm not sure though if I explained this so people can understand me... =)

Jonah

"Nak" <a@a.com> skrev i meddelandet
news:uc**************@TK2MSFTNGP09.phx.gbl...
Hi there,

Do you mean during Run-time? If so then I don't believe so. Or do you
mean at Design-time? If so then it is "possible" but you would need to
either find an application that can create a class from an XML file or make one yourself, out of interest what purpose would it serve?

Nick.

Nov 17 '05 #3
yoz
I am not sure if you want to do it at runtime, but if you do, create a C#
class from the XML (hey you can even do it with XSLT ;-) and use the free
csc.exe (C# compiler) in your windows/Microsoft.NET folder to compile.

If you really want to make things hard for yourself, I know (heard) there
are helper classes to create Assemblies straight without code. I don't have
the book with me, but they seem to exists. naaaaaa, option 1 would be far
cheaper.

Yoz

"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Hi guys,

I need a way to dynamically change (or create) a custom class using an
external xml file. Can this be done at all? This is what the class looks
like:

Public Class MemberData
Private _EmailGUID As String
Private _Email As String
Private _FirstName As String
Private _LastName As String
Private _Title As String
Private _Company As String
Private _Address As String
Private _PostalCode As Integer
Private _City As String
Private _Phone As String
Private _Active As Integer
Private _RegDate As DateTime
Private _ChangeDate As DateTime

Public Sub New()
MyBase.New()

_EmailGUID = ""
_Email = ""
_FirstName = ""
_LastName = ""
_Title = ""
_Company = ""
_Address = ""
_PostalCode = 0
_City = ""
_Phone = ""
_Active = 0
_RegDate = Nothing
_ChangeDate = Nothing
_SoftBounces = 0
_HardBounces = 0
_GroupIDs = ""

End Sub

Public Property EmailGUID() As String
Get
Return _EmailGUID
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address identifier cannot be empty")
End If
_EmailGUID = Value
End Set
End Property

Public Property Email() As String
Get
Return _Email
End Get
Set(ByVal Value As String)
If ((Value Is Nothing) OrElse (Value.Length = 0)) Then
Throw New Exception("The email address cannot be empty")
End If
_Email = Value
End Set
End Property

[...]

End Class
Thanks.
Regards Jonah

Nov 17 '05 #4
Nak
Hi Jonah,

Sorry I have no idea about Web Services at the moment, I haven't gotten
into any of that. But by the sounds of things I am sure that you can make
the engine that you want, I just do not have the knowledge in that field to
provide enough assistance, sorry :-( Maybe someone else will offer advice
here.

Nick.

"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:uW**************@TK2MSFTNGP09.phx.gbl...
Hi Nick,

Here's the deal; I'm trying to create a Web Service to be run as an engine
for several client web applications. The engine takes care of all
communication with each database.
The reason I say 'each' is that a customer may use their own SQL server. All this is just testing, but I came up with the idea when looking at an example how to dynamically create stored procedures using XML files
(http://www.fawcette.com/xmlmag/2002_...lin_11_05_02/). Since I use the MemberData class in the function that contains the call to the
Stored Procedure, and I can change the parameters in the SP using an XML
file, why shouldn't I be able to also make the MemberData class dynamic.

Say, one customer needs to add "Department" to the MemberData class. This
can easily be done in the XML file for the SP, but how to add it to the
MemberData class? I just don't want to re-build the entire Web Service
application.

I'm not sure though if I explained this so people can understand me... =)

Jonah

"Nak" <a@a.com> skrev i meddelandet
news:uc**************@TK2MSFTNGP09.phx.gbl...
Hi there,

Do you mean during Run-time? If so then I don't believe so. Or do you mean at Design-time? If so then it is "possible" but you would need to
either find an application that can create a class from an XML file or

make
one yourself, out of interest what purpose would it serve?

Nick.


Nov 17 '05 #5
yoz
What you seem to want is to create dynamic web services where you would
specify an xml and it will create a web service that will be mediating
between the database and the client. I am making this assumption for the
rest of the mail.

1) you create an object that mirror the table (or your xml will have to map
database field to .NET Class field) in a C# code and compile it with csc.

2) then you create an object with methods such as Select which returns an
array of the type you created in step 1. You compile this also in another
assembly (maybe you can combine both into one assembly?)

Either:

3a) Make it available via a Remote Object

http://msdn.microsoft.com/architectu...SecNetHT15.asp

The executable could be a remote service.

or

3b) you can create an asmx to put on IIS that provides the Soap Service.

Hopes that help, I am just think aloud here...
There is a tool called Program Files\Microsoft.NET\SDK\v1.1\Bin\SoapSuds.exe
(look on google for "soapsuds"). Have a look at it, it may help.

http://msdn.microsoft.com/library/de...oapsudsexe.asp

PS: You can also have a thread that look for change in XML to regenerate
what has changed. You can even work of a database schema. good luck.
"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi Yoz,

..and maybe I'm in deep water :)
Should I reconsider the entire design? Maybe each client web application has to be custom built to match their database? What do you suggest?

Thanks
Jonah
"yoz" <netfever@hot_REMOVE_SPAM_mail.com> skrev i meddelandet
news:XH*****************@news-binary.blueyonder.co.uk...
I am not sure if you want to do it at runtime, but if you do, create a C# class from the XML (hey you can even do it with XSLT ;-) and use the free csc.exe (C# compiler) in your windows/Microsoft.NET folder to compile.

If you really want to make things hard for yourself, I know (heard) there are helper classes to create Assemblies straight without code. I don't

have
the book with me, but they seem to exists. naaaaaa, option 1 would be far cheaper.


Nov 17 '05 #6
Thanks anyway Nick! :-)

Jonah

"Nak" <a@a.com> skrev i meddelandet
news:Ob**************@TK2MSFTNGP09.phx.gbl...
Hi Jonah,

Sorry I have no idea about Web Services at the moment, I haven't gotten into any of that. But by the sounds of things I am sure that you can make
the engine that you want, I just do not have the knowledge in that field to provide enough assistance, sorry :-( Maybe someone else will offer advice
here.

Nick.

Nov 17 '05 #7
Thanks Yoz!
Your information seems very interesting and I'll start digging into it first
thing tomorrow morning.

Jonah
Nov 17 '05 #8
Cor
Jonah,
It seems clear, but it is not for me, you say a Web Service to run as an
engine (Webservice?) for several client web applications. There is a lot of
difference in that. When it is a webService who runs on side A and then
takes action on Side B will be very complex with authoring, but maybe I see
things wrong.

Like Nick I do not know if I can help you, I do know very few from SQL but
maybe this group can help you together.

And of course, when this solution can made with C# it can be made better
with VB.Net.

Cor



"Jonah Olsson" <jo***@IHateSpam.com> schreef in bericht
news:uW**************@TK2MSFTNGP09.phx.gbl...
Hi Nick,

Here's the deal; I'm trying to create a Web Service to be run as an engine
for several client web applications. The engine takes care of all
communication with each database.
The reason I say 'each' is that a customer may use their own SQL server. All this is just testing, but I came up with the idea when looking at an example how to dynamically create stored procedures using XML files
(http://www.fawcette.com/xmlmag/2002_...lin_11_05_02/). Since I use the MemberData class in the function that contains the call to the
Stored Procedure, and I can change the parameters in the SP using an XML
file, why shouldn't I be able to also make the MemberData class dynamic.

Say, one customer needs to add "Department" to the MemberData class. This
can easily be done in the XML file for the SP, but how to add it to the
MemberData class? I just don't want to re-build the entire Web Service
application.

I'm not sure though if I explained this so people can understand me... =)

Jonah

"Nak" <a@a.com> skrev i meddelandet
news:uc**************@TK2MSFTNGP09.phx.gbl...
Hi there,

Do you mean during Run-time? If so then I don't believe so. Or do you mean at Design-time? If so then it is "possible" but you would need to
either find an application that can create a class from an XML file or

make
one yourself, out of interest what purpose would it serve?

Nick.


Nov 17 '05 #9
yoz

"Cor" <no*@non.com> wrote in message
news:3f***********************@reader21.wxs.nl...
And of course, when this solution can made with C# it can be made better
with VB.Net.


better with vb.net??
Nov 17 '05 #10
Cor
Jonah,
Lets make it simple for me.
You need a class, that you implement in your Soap Webservices to talk with
your SQL server on Site A and changes messages with the clients via SOAP.

That is in mine opinion the standaard VB.Net Webservices Application
described in the walkthrough "Creating a distributed Application". For me is
the webservices side of this application is a class by itself but maybe I am
wrong. When you use this example, I think then you only have to add your own
SQL procedures and it is done.

And what about vb.net I did not see that it was crossposted and yoz said
that you could make a C# application, so I thought why. Till now I am
intrested in what I cannot make easier with VB.Net than with C# (VB.net
has more functions, standard things like collection etc).
Cor


Nov 17 '05 #11
yoz
"Cor" <no*@non.com> wrote in message
news:3f***********************@reader21.wxs.nl...
And what about vb.net I did not see that it was crossposted and yoz said
that you could make a C# application, so I thought why. Till now I am
intrested in what I cannot make easier with VB.Net than with C# (VB.net
has more functions, standard things like collection etc).
Cor


Here we go, the religious debate that never ends. Once upon a time, there
was same debate between C++ and VB and fortunately, the answer came from
Borland: Delphi.

As for VB.net, there are functionality, or should I say VB routines that
have been carried out into .NET but they are not always efficient and most
are easily reproducible in C#. For example, the IsNumeric function is not in
C# but you can make a more efficient one (ever look at the length of the
code) or use the Microsoft.VisualBasic assembly which will provide it to
you.

I suppose in a way, it does not matter under .NET which language you use,
but what will matter is the organization of the code. Large commercial
projects, large open source projects are very likely to use Java or C rather
than Basic. Like it or not, in my experience (in my part of the world) Basic
is still seen as a toy, a beginner language. The fact that the assembly
generated are similar between those languages have not registered. There is
also a way of thinking that VB people know less about the internals than C#
people who knows less than IL ASM developers.

Nov 17 '05 #12
Cor
We agree yoz, was a misunderstanding from me.
And what the so known profesionals say, in all history it was so that the
tool that makes the best product always wins.
And that is not from the last 50 years.
Cor


Nov 17 '05 #13
Cor
Jonah,
It seems clear, but it is not for me, you say a Web Service to run as an
engine (Webservice?) for several client web applications. There is a lot of
difference in that. When it is a webService who runs on side A and then
takes action on Side B will be very complex with authoring, but maybe I see
things wrong.

Like Nick I do not know if I can help you, I do know very few from SQL but
maybe this group can help you together.

And of course, when this solution can made with C# it can be made better
with VB.Net.

Cor



"Jonah Olsson" <jo***@IHateSpam.com> schreef in bericht
news:uW**************@TK2MSFTNGP09.phx.gbl...
Hi Nick,

Here's the deal; I'm trying to create a Web Service to be run as an engine
for several client web applications. The engine takes care of all
communication with each database.
The reason I say 'each' is that a customer may use their own SQL server. All this is just testing, but I came up with the idea when looking at an example how to dynamically create stored procedures using XML files
(http://www.fawcette.com/xmlmag/2002_...lin_11_05_02/). Since I use the MemberData class in the function that contains the call to the
Stored Procedure, and I can change the parameters in the SP using an XML
file, why shouldn't I be able to also make the MemberData class dynamic.

Say, one customer needs to add "Department" to the MemberData class. This
can easily be done in the XML file for the SP, but how to add it to the
MemberData class? I just don't want to re-build the entire Web Service
application.

I'm not sure though if I explained this so people can understand me... =)

Jonah

"Nak" <a@a.com> skrev i meddelandet
news:uc**************@TK2MSFTNGP09.phx.gbl...
Hi there,

Do you mean during Run-time? If so then I don't believe so. Or do you mean at Design-time? If so then it is "possible" but you would need to
either find an application that can create a class from an XML file or

make
one yourself, out of interest what purpose would it serve?

Nick.


Nov 17 '05 #14
yoz

"Cor" <no*@non.com> wrote in message
news:3f***********************@reader21.wxs.nl...
And of course, when this solution can made with C# it can be made better
with VB.Net.


better with vb.net??
Nov 17 '05 #15
Cor
Jonah,
Lets make it simple for me.
You need a class, that you implement in your Soap Webservices to talk with
your SQL server on Site A and changes messages with the clients via SOAP.

That is in mine opinion the standaard VB.Net Webservices Application
described in the walkthrough "Creating a distributed Application". For me is
the webservices side of this application is a class by itself but maybe I am
wrong. When you use this example, I think then you only have to add your own
SQL procedures and it is done.

And what about vb.net I did not see that it was crossposted and yoz said
that you could make a C# application, so I thought why. Till now I am
intrested in what I cannot make easier with VB.Net than with C# (VB.net
has more functions, standard things like collection etc).
Cor


Nov 17 '05 #16
yoz
"Cor" <no*@non.com> wrote in message
news:3f***********************@reader21.wxs.nl...
And what about vb.net I did not see that it was crossposted and yoz said
that you could make a C# application, so I thought why. Till now I am
intrested in what I cannot make easier with VB.Net than with C# (VB.net
has more functions, standard things like collection etc).
Cor


Here we go, the religious debate that never ends. Once upon a time, there
was same debate between C++ and VB and fortunately, the answer came from
Borland: Delphi.

As for VB.net, there are functionality, or should I say VB routines that
have been carried out into .NET but they are not always efficient and most
are easily reproducible in C#. For example, the IsNumeric function is not in
C# but you can make a more efficient one (ever look at the length of the
code) or use the Microsoft.VisualBasic assembly which will provide it to
you.

I suppose in a way, it does not matter under .NET which language you use,
but what will matter is the organization of the code. Large commercial
projects, large open source projects are very likely to use Java or C rather
than Basic. Like it or not, in my experience (in my part of the world) Basic
is still seen as a toy, a beginner language. The fact that the assembly
generated are similar between those languages have not registered. There is
also a way of thinking that VB people know less about the internals than C#
people who knows less than IL ASM developers.

Nov 17 '05 #17
Cor
We agree yoz, was a misunderstanding from me.
And what the so known profesionals say, in all history it was so that the
tool that makes the best product always wins.
And that is not from the last 50 years.
Cor


Nov 17 '05 #18

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

Similar topics

0
by: Rob Long | last post by:
Hey I'm building a webapp with tons of objects all over the place, a lot of which are quite complex, meaning they could have many subclasses and many nested object members. I'm implementing a...
3
by: Amy L. | last post by:
I have a class that contains a string array. However, I can't get this object to serialize in the xml output. Is there a trick to get a string to serialize? Thanks Amy.
10
by: Dan | last post by:
All I Am Attempting To Serialize An Object To An XML File. Here Is The Code For That public string SaveNewSurvey( MutualSurveyObject mso_TempObject, int i_JobID ) { string s_RootFileName;...
3
by: Alex Nitulescu | last post by:
_______________________________________________________________________________________ System.IO.FileNotFoundException: File or assembly name biypfduw.dll, or one of its dependencies, was not...
1
by: Samuel R. Neff | last post by:
We're using XmlSerializer to serialize our data objects for persistence in a WinForms app. This is our primary data store, we're not web connected and are not using a database. We've had to...
11
by: Charles Law | last post by:
I have just been asked how to share functions and properties between two running applications. For example, I have App1 and App2 both running on the same machine. App1 uses a DLL (perhaps) that...
1
by: Peter Nofelt | last post by:
Hey All, I am having issue with serializing a class and its base class using ..net 2.0. I am using IXmlSerializable I've provided code displaying my at the bottom of this post. Thanks ahead...
2
by: Jinsong Liu | last post by:
I have following 3 classes public class MyMainClass { MyCollection<MyObject> m_oMyObjectCollection = null; private string m_sID = string.Empty; public MyCollection<MyObject> Collection {
0
by: RogerD | last post by:
Hello All, I have a custom class (Collar) that is a property of another custom class (Dog) which inherits from (Animal). I want to serialize Dog and have the properties from Collar appear as...
0
by: shapper | last post by:
Hello, I followed some examples in internet and in MSDN web site to create a serializable class. Basically, I need to serialize a class to binary so I can save it in an SQL 2005 table using a...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 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 former...

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.