| 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' |