Transformation basique de XML en liste Tcl avec tdom

 

Pour faire suite à la page de kroc (Transformation basique de XML en liste Tcl), je poste ici un extrait de code diffusé sur c.l.t qui montre comment on peut simplement obtenir une liste Tcl à partir d'un document xml avec tdom.


Le fichier test.xml utilisé est le même que dans la page sus-citée, à savoir:

	<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
	<!DOCTYPE Ma-Structure-que-jai>
	<items>
		<!-- Cette ligne est un commentaire -->
		<item name="un">simple</item>
		<item name="deux" option="true">complet</item>
		<item name="trois" size="12"  style="roman" slang="bold">arial</item>
		<item name="soleil"/>
	</items>

Le code salvateur :

 package require tdom

 set f [open test.xml r]
 fconfigure $f -encoding utf-8
 set data [read $f]
 close $f

 dom parse $data doc
 $doc documentElement root
 set l [$root asList]

A l'issue de ces quelques lignes de code, la liste $l est la suivante :

    items {}
    {
        {
            #comment {Cette ligne est un commentaire}
        }
        {
            item {name un}
            {
                {#text simple}
            }
        }
        {
            item {name deux option true}
            {
                {#text complet}
            }
        }
        {
            item {name trois size 12 style roman slang bold}
            {
                {#text arial}
            }
        }
        {
            item {name soleil}
            {
            }
        }
    }

Merci Michael Schlenker