Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 1 (modified by landauf, 15 years ago) (diff)

—

XML-Loader

The goal of the XML-Loader is to import levels defined in an XML-File into the game engine. This is done by parsing a specified XML-File and adding all defined Entities for the Scene-Manager.

XML-Design

See LevelHowTo? (don't know if this is still up to date…)

Ticket

This page referrers to ​Ticket 232 which is maintained by ​Nicolas Perrenoud

Library

I'm using the ​xmlParser Library from Frank Vanden Berghen which is small, simple to use and fast. (​Download). It uses only one class, which is defined in xmlParser.cpp, xmlParser.h The class XMLNode reflects an Node in the XML-File. It has methods to get the child nodes, get the attributes and inner text.

Example:

<root>

<level name="Argon Prime">

Lorem Ipsum dolor sit amet

</level>

</root>

XMLNode xMainNode=XMLNode::openFileHelper("level.xml","root"); This loads the xml file and defines root as the main node

XMLNode xNode=xMainNode.getChildNode("level"); This creates a new node object of child node <level>

cout << xNode.getAttribute("name"); This prints the value xNode's attribute name, in this case Argon Prime

cout << xNode.getText()); This prints the inner content of xNode, in this case Lorem Ipsum dolor sit amet

Misc

See archive/XML-Writer? for an XML-Writer description