What is the best way to create C++ objects from parsed XML data?

J

Jim Williams

**** Post for FREE via your newsreader at post.usenet.com ****

I'm working on a 3d engine system.
I need to save/load data in the systems objects to/from XML files.
When I say objects, I mean C++ objects. (These generally correspond to
scene objects, but that consideration isn't important as far as
loading/saving goes.)

I think I have a reasonable grasp of XML, it's method of data
representation, and parsing XML files.
(At the moment I'm looking at using the expat XML parser for it's
callback based system, so I don't have to load/parse the whole -
potentially v large - XML file into memory before I create objects).

The problem I'm having is deciding how to get the data from the XML
parser into the C++ objects.
How is this normally done?
Do you pass the completed/parsed XML node to the C++ object creator?
Do you create the object object and set it's members with data from
the completed/parsed XML node?

What's the best/most flexible way to do this, or are what are pros and
cons of various methods?
Pointers to some examples would be greatly appreciated.

Thanks

Jim Williams

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
F

Fabien R

Jim Williams said:
**** Post for FREE via your newsreader at post.usenet.com ****

I'm working on a 3d engine system.
I need to save/load data in the systems objects to/from XML files.
When I say objects, I mean C++ objects. (These generally correspond to
scene objects, but that consideration isn't important as far as
loading/saving goes.)

I think I have a reasonable grasp of XML, it's method of data
representation, and parsing XML files.
(At the moment I'm looking at using the expat XML parser for it's
callback based system, so I don't have to load/parse the whole -
potentially v large - XML file into memory before I create objects).

The problem I'm having is deciding how to get the data from the XML
parser into the C++ objects.
How is this normally done?
Do you pass the completed/parsed XML node to the C++ object creator?
Do you create the object object and set it's members with data from
the completed/parsed XML node?
It depends on the message size. If it is too big, parse using the SAX
method, otherwise, you may use DOM.
What's the best/most flexible way to do this, or are what are pros and
cons of various methods?
Pointers to some examples would be greatly appreciated. http://xml.apache.org

Thanks

Jim Williams
You're welcome,
Fabien
 
K

Keith M. Corbett

Jim Williams said:
The problem I'm having is deciding how to get the data from the XML
parser into the C++ objects.
How is this normally done?
Do you pass the completed/parsed XML node to the C++ object creator?

No. For one thing, I prefer to keep XML/DOM classes out of the declarations
(member and argument types) of my own C++ classes.
Do you create the object object and set it's members with data from
the completed/parsed XML node?

Yes that's the most common approach I've seen.

/kmc
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top