You have a collection of data stored in an XML document. You want to parse the document and turn the data it contains into a collection of C++ objects. Your XML document is small enough to fit into memory and doesn't use an internal Document Type Definition (DTD) or XML Namespaces.
Use the TinyXml library. First, define an object of type
and call its
method, passing the pathname of your XML document as its argument. If
LoadFile() returns true, your document has been
successfully parsed. If parsing was successful, call the
method to obtain a pointer to an object of type
TiXmlElement representing the document root. This object has a hierarchical
structure that reflects the structure of your XML document; by traversing this structure,
you can extract information about the document and use this information to create a
collection of C++ objects.
For example, suppose you have an XML document animals.xml representing a collection of circus animals, as shown in Example 14-1. The document root is named
animalList and has a number of child
animal elements each representing an animal owned by the
Feldman Family Circus. Suppose you also have a C++ class named
Animal, and you want to construct a
Animals corresponding to
the animals listed in the document.
Example 14-1. An XML document representing a list of circus animals
<?xml version="1.0" encoding="UTF-8"?> <!-- Feldman Family Circus ...