Comment créer ce XML avec Delphi?

Je veux écrire un peu de code (en Delphi) pour obtenir ce schéma XML, j'ai essayé, mais sans résultat que je veux, pourriez-vous m'aider !
J'utilise (ou si vous voulez utiliser) IXMLDocument créé au moment de l'exécution, mais je ne peux pas comprendre "Nœuds", "ChildNodes" ... je sais, c'est ridicule !

C'est le schéma de l'exemple que je veux :

<Items>
 <Task id="eec0-47de-91bc-98e2d69d75cd">
   <Title>The title of something</Title>
   <State>Done</State>
   <IdNoHashed>This Is a string</IdNoHashed>
   <CreatedDate>28/12/2011 06:24:57</CreatedDate>
   <Note>Just a note</Note>
 </Task>
 <Task id="e2x5d4-2d45c-98e2d69d75cd">
   <Title>Another title</Title>
   <State>Done</State>
   <IdNoHashed>This Is a string 2</IdNoHashed>
   <CreatedDate>28/12/2011 22:22:22</CreatedDate>
   <Note>Just a note, again !</Note>
 </Task>
</items>

Vous avez une suggestion ?
Merci!!!!

EDIT : j'ai Essayé le code de réponse ci-dessous, Il fonctionne très bien, mais quand je veux ajouter une entrée dans la Racine, il réécrit le déjà-existent élément.

Function WriteData (id, title, state, idNH : String) : Boolean;
 var
   Doc: IXMLDocument;
   Items, Task: IXMLNode;
begin
  Doc := NewXMLDocument;
  Items := Doc.AddChild('Items');

  Task := Items.AddChild('Task');
  Task.Attributes['id'] := id;
  Task.AddChild('Title').Text := title;
  Task.AddChild('State').Text := state;
  Task.AddChild('IdNoHashed').Text := idNH;
  Task.AddChild('CreatedDate').Text := DateTimeToStr(Now);
  Task.AddChild('Note').Text := 'Just a note';
end;

J'ai essayé DocumentElement.ChildNodes.FindNode(id), mais pas de succès !

J'ai créé une fonction que j'appelle à chaque fois pour ajouter/modifier une entrée dans le fichier XML, l'entrée est "".
Une idée de comment puis-je faire cela ?!
Merci!!!!

InformationsquelleAutor djiga4me | 2011-12-28