ProjectPythonSourceForge
Welcome
Introduction
Suitability
Future Plans
Setup
Downloading XMLObject
Installing XMLObject
XMLObjApp
The XMLObjApp Application
Classes
Special Attributes
XML Attributes
Child Tags
File Menu
Miscellaneous Operation Notes
Unicode and ASCII Strings
Manually Editing Your Parser
Outputting XML
XMLObject
XMLObject -- XML to Object Conversion
Stack -- Tracks the Document Hierarchy
All Docs on One Page

Special Attributes

Each class may include two optional, special attributes. By default, these are called _parent and _root. The _parent attribute provides access to the parent tag instance and the _root attribute provides access to the root of the XML structure.

Let's illustrate this relationship with a very simple piece of XML which describes my home town:

Example 3.1. Sample Location XML

<Country Name="USA">
    <State Name="Missouri">
        <City Name="Columbia" />
    </State>
</Country>

In the above example, the City object's _parent attribute refers to the State object. The City object's _root attribute refers to the Country object.

Let's explore this with a little code:

Example 3.2. Exploring _parent and _root

>>> import XMLObject, city
>>> Country = XMLObject.Parse("city.xml", "Country",
...     city.Country)
>>> Country.Name
'USA'
>>> Country.State.Name
'Missouri'
>>> Country.State.City.Name
'Columbia'
>>> Country.State.City._parent.Name
'Missouri'
>>> Country.State.City._root.Name
'USA'