2009-08-04 8 views
6

Quelqu'un peut-il me montrer comment créer un document XML simple en utilisant XMERL? La documentation montre seulement comment ajouter à un document XML courant qui est lu d'un fichier. Je veux créer un nouveau document XML à partir de zéro.Création d'un document XMERL dans Erlang

Par exemple, je veux écrire une structure simple comme celui-ci vers un fichier XML:

Data = {myNode,[{foo,"Foo"},{bar,"Bar"}]}. 

Merci!

Répondre

8

format "simple" de xmerl est semblable à la vôtre: (note la troisième valeur, une liste d'éléments enfant)

Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}. 

Cela peut être "exporté" en XML à utiliser comme une chaîne:

> lists:flatten(xmerl:export_simple([Data], xmerl_xml)). 
"<?xml version=\"1.0\"?><myNode foo=\"Foo\" bar=\"Bar\"/>" 

ou écrit dans un fichier:

> file:write_file("/tmp/foo.xml", xmerl:export_simple([Data2], xmerl_xml)). 
ok 

Notez que export_simple prend une liste d'éléments, pas un seul ele racine ment. En outre, en fonction de ce que vous faites avec le résultat, l'aplatissement peut être inutile.

+0

Il me manquait la liste des éléments enfants. Je vous remercie! –