The content isn't really created from XML, it's just defined there, for instance here's the definition of the items in the game:
<types>
<itemType name="Apple" tile="81" desc="A healthy red apple" use="true" destroy="true" equip="false" level="0" ranged="false" cost="4" stacks="true" >
<action attribute="hp" delta="5" />
</itemType>
<itemType name="Red Potion" tile="80" desc="A vial of red liquid" use="true" destroy="true" equip="false" level="0" ranged="false" cost="10" stacks="true" >
<action attribute="hp" delta="10" />
</itemType>
<itemType name="Key" tile="84" desc="To use, walk through a locked door" use="false" destroy="false" equip="false" level="0" ranged="false" />
<itemType name="Sword" tile="86" desc="A light-weight short sword" use="false" destroy="true" equip="true" level="0" slot="hands" ranged="false" classes="warrior" attackMod="1" defenceMod="0" />
<itemType name="Bow" tile="90" desc="A strong willow bow" use="false" destroy="true" equip="true" level="0" slot="hands" ranged="true" classes="archer" projectile="96" failChance="5" />
<itemType name="Staff" tile="94" desc="A magical staff" use="false" destroy="true" equip="true" level="0" slot="hands" ranged="false" classes="wizard" />
<itemType name="Fireball" tile="95" desc="Fireball Spell - ranged attack" use="false" destroy="true" equip="true" level="0" slot="spell" ranged="true" classes="wizard" charge="10" attackMod="2" defenceMod="0" projectile="97" failChance="5" />
<itemType name="Town Portal" tile="100" desc="Town Port - summon a portal back to town" use="true" destroy="true" equip="false" level="0" ranged="false" cost="50" stacks="true" />
</types>
So, the game just reads in the XML and uses it to define the items that will appear in the game. Pretty standard stuff I guess. The generation of levels is procedural but the configuration for each level is defined in XML too..
<level id="1" key="true" tileset="0" chests="3" width="50" height="35" rooms="25" minMonsters="1" maxMonsters="2" >
<monsterChance type="Skeleton" chance="5" />
<monsterChance type="Snake" chance="5" />
<monsterChance type="none" chance="5" />
<chest minItems="0" maxItems="5" >
<itemChance name="null" chance="4" />
<itemChance name="Apple" chance="1" />
<itemChance name="Red Potion" chance="1" />
</chest>
</level>
So there's a level with a fixed size and number of rooms. The sub elements describe what type of monsters to generate and the contents of the chests created. The tool shown above is completely generic but allows your to specify a schema of XML - which is then interpreted into a useful GUI. The only game specific bits are the types you can specify, for instance you can indicate an integer field is actually an index into a tileset - so the item is then displayed with a selector across the tileset.
Kev